C# İki Sayı Arasındaki Tüm Sayıları Yazdırma

RamonMotta

Kilopat
Katılım
2 Ağustos 2014
Mesajlar
246
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
C#:
 private void button1_Click(object sender, EventArgs e)
{

double i;
for (i = 0;i<20;i++)
{

double A;
A = (Math.PI / 180) * i;
listBox1.Items.Add(A);
}
}

Arkadaşlar merhaba, sizlere iki sorum olacak, soruları aşağıda sormak istiyorum;
1. soru: Burada yazılan i değerini kutucuktan alma şansımız var mı? Yani kutucuklara iki sayıyı giriyoruz, örneğin 0 ile 20 diye arasındaki sayıları ve sonra sonuçları almak istiyorum. Bu i değerini kutucuktan nasıl alabilirim?
2. soru: 0 ile 20 arasındaki tüm reel sayıları kullanmak istiyorum dört basamak olmak şartıyla yani şöyle; 0.0001, 0.8888 diye sayıların da değerlerini yazdırmak istiyorum. Bunu nasıl yapabilirim?
 
Hocam 1. sorunun cevabı c de scanf, c# da ise textbox şeklinde alabileceğinizi düşünüyorum.
for (double i = Convert.ToDouble(birincikutu.Text); i < Convert.ToDouble(ikincikutu.Text); i++ şeklinde yapabilirsiniz sanırsam.
 
Hiçbir sorunu anlamadım. Herhangi bir aralıktaki tüm reel sayıları yazamazsın. Tek bir sayı buradan güneşe kadar bile gider.
Şöyle demek istedim ikinci soruda; ben enlemleri kullanarak koordinat hesaplıyorum örneğin 30.6789 derece enlemi ile 30.9850 enlemleri farklı enlemler bu enlemlere ait koordinatları yazdırmak istiyorum. Demek istediğim buydu.
 
1) Text Area ya da label kullandıysanız ilgili sınıfın getText fonksiyonlarını kullanarak ilk önce string olarak alıp daha sonra integer ya da double değerlerine convert ediceksiniz.

2)Verdiğiniz örneğin significant figure kısmı 4 yani 0 dan sonra 4 basamak ilerlemiş bunu constant olarak bir değere atayıp daha sonra minimum değerden maximum değere kadar arttırma işlemi yapabilirsiniz.
 
1) Text Area ya da label kullandıysanız ilgili sınıfın getText fonksiyonlarını kullanarak ilk önce string olarak alıp daha sonra integer ya da double değerlerine convert ediceksiniz.

2)Verdiğiniz örneğin significant figure kısmı 4 yani 0 dan sonra 4 basamak ilerlemiş bunu constant olarak bir değere atayıp daha sonra minimum değerden maximum değere kadar arttırma işlemi yapabilirsiniz.
Kod:
            double i;
            for (double i = Convert.ToDouble(textBox1.Text); i < Convert.ToDouble(textBox2.Text); i++)

            {
                
      
                double A;
                A = (Math.PI / 180) * i;
                listBox1.Items.Add(A);
            }
        }

Şöyle bir şey yapmıştım ancak hata aldım. İlk sorum için demiş olduğunuz işlemi nasıl yapabilirim?
 
Hocam ne hatası aldığınızı ve konsol uygulamasında mı masaüstü uygulamasında mı yazdığınızı da açıklarsanız daha kolay yardımcı olabiliriz.
 
Hocam ne hatası aldığınızı ve konsol uygulamasında mı masaüstü uygulamasında mı yazdığınızı da açıklarsanız daha kolay yardımcı olabiliriz.
"Önem Derecesi Kod Açıklama Proje Dosya Çizgi Gizleme Durumu
Hata CS0136 'i' adlı bir yerel veya parametre, bu ad bir kapanış yerel kapsamında bir yereli veya parametreyi tanımlamak için kullanıldığından bu kapsamda ifade edilemiyor "

Hata tam olarak budur hocam.
 
0 ile 20 arasındaki tüm reel sayıları kullanmak istiyorum dört basamak olmak şartıyla yani şöyle; 0.0001, 0.8888

1 ile 20000 arasindaki sayilari yazdir, her sayiyi 10000 e bol.

Daha algoritmik bir ifadeyle, precision * 10 ile carp araligi, araliktaki her tamsayiyi precision * 10 a geri bol.
 
Belirli bir hassasiyet kullanmalısınız o zaman. Örneğin 0,0001 hassasiyet örnek verdiğiniz sayılar için yeterli. 30,6789 sayısına 0,0001 ekleyip durursunuz ve sonunda 30,9850 sayısına gelirsiniz.

C# bilmeyen biri olarak 3-5 dakikada bu tam istenilecek şekilde yapılabiliyor.

Kod:
double num1 = 30.6789;
double num2 = 30.9850;
            
for(double i = num1; i < num2; i += 0.0001){
    Console.WriteLine(String.Format("{0:0.0000}", Math.Round(i, 4)));
}
 

Yeni konular

Geri
Yukarı