C# ile kullanıcının klavyeden girdiği 10 adet sayıdan en büyüğü ve en küçüğü bulunup ekranda gösterilecektir. 1. ve 2. çözüm yöntemlerinde dizi kullanmadan FOR ve WHILE döngüleriyle çözülmüştür. 3. çözüm yönteminde DİZİ kullanılarak en büyük ve en küçük sayı bulunurken 4. çözüm yönteminde DİZİ ve SIRALAMA FONKSİYONU kullanılarak problem daha kısa bir yol ile çözülmüştür.
1. Çözüm (FOR Döngüsü):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Console.Write("1. sayıyı girin:"); int sayi = Convert.ToInt32(Console.ReadLine()); int enKucuk = sayi; int enBuyuk = sayi; for(int i=1;i<10;i++) { Console.Write("{0}. sayıyı girin:", i + 1); sayi = Convert.ToInt32(Console.ReadLine()); if (sayi > enBuyuk) enBuyuk = sayi; if (sayi < enKucuk) enKucuk = sayi; } Console.WriteLine("Girilen en küçük sayı={0}", enKucuk); Console.WriteLine("Girilen en büyük sayı={0}", enBuyuk); Console.ReadKey(); |
2. Çözüm (WHILE Döngüsü):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Console.Write("1. sayıyı girin:"); int sayi = Convert.ToInt32(Console.ReadLine()); int enKucuk = sayi; int enBuyuk = sayi; int i = 1; while (i < 10) { Console.Write("{0}. sayıyı girin:", i + 1); sayi = Convert.ToInt32(Console.ReadLine()); if (sayi > enBuyuk) enBuyuk = sayi; if (sayi < enKucuk) enKucuk = sayi; i++; } Console.WriteLine("Girilen en küçük sayı={0}", enKucuk); Console.WriteLine("Girilen en büyük sayı={0}", enBuyuk); Console.ReadKey(); |
3. Çözüm (Dizi Kullanılarak):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | int[] sayilar = new int[10]; for (int i = 0; i < 10; i++) { Console.Write("{0}. sayıyı girin:", i + 1); sayilar[i] = Convert.ToInt32(Console.ReadLine()); } int enBuyuk = sayilar[0]; int enKucuk = sayilar[0]; for (int i = 1; i < 10; i++) { if (sayilar[i] > enBuyuk) enBuyuk = sayilar[i]; if (sayilar[i] < enKucuk) enKucuk = sayilar[i]; } Console.WriteLine("Girilen en küçük sayı={0}", enKucuk); Console.WriteLine("Girilen en büyük sayı={0}", enBuyuk); Console.ReadKey(); |
4. Çözüm(Dizi ve Sıralama Fonksiyonu Kullanarak):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | int[] sayilar=new int[10]; for (int i=0;i<10;i++) { Console.Write("{0}. sayıyı girin:",i+1); sayilar[i] = Convert.ToInt32(Console.ReadLine()); } Array.Sort(sayilar); int enKucuk = sayilar[0]; int enBuyuk = sayilar[9]; Console.WriteLine("Girilen en küçük sayı={0}", enKucuk); Console.WriteLine("Girilen en büyük sayı={0}", enBuyuk); Console.ReadKey(); |
console.write(” {0}.sayıyı giriniz”,i+1) kısmında neden i+1 yazdığımızı anlamadım.
İlk girilen sayı hem en büyük hem de en küçük kabul ediliyor. Haliyle döngü içinde girilmesi sağlanan sayılar, 1’den 10’a kadar (10 dahil değil) kurulan bir döngüde döngü adımının bir fazlası, girilen sayının sıra numarasına karşılık gelir.
Mükemmel