Bu örneğimizde C# ile 20 elemanlı bir diziye 0-100 arası rastgele sayılar atarak bu dizi içinde bulunan en büyük çift sayıyı metot kullanarak bulacağız. Değer girme ve dizi elemanlarını yazdırma işlemini ana programda, en büyük çift sayıyı bulma işlemini metot kullanarak gerçekleştireceğiz.
Örneğimizde rastgele girişi yapılan sayılardan hiçbirinin çift olmaması durumunda “Dizide çift sayı bulunamadı” mesajı verilmesi sağlanmıştır.
C# kodlarımız aşağıdaki gibi olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace metot_dizi_cift { class Program { private int Max(int[] sayilar) {//www.yazilimkodlama.com int buyuk = 0; for (int i = 0; i < sayilar.Length; i++) { if (buyuk < sayilar[i] && sayilar[i] % 2 == 0) { buyuk = sayilar[i]; } } return buyuk; } static void Main(string[] args) {//www.yazilimkodlama.com int[] numbers=new int[20]; Random rnd = new Random(); for(int i=0;i<numbers.Length;i++) { numbers[i]= rnd.Next(0, 100); Console.WriteLine(numbers[i]); } Console.WriteLine("======================"); Program b = new Program(); int buyuksayi = b.Max(numbers); if (buyuksayi != 0) { Console.WriteLine("Dizideki en büyük çift sayı = {0}", b.Max(numbers)); } else { Console.WriteLine("Dizide çift sayı bulanamadı"); } Console.WriteLine("======================================"); Console.WriteLine("www.yazilimkodlama.com"); Console.ReadKey(); } } } |
Ekran çıktısı:
Hocam numbers[0] büyük bir tek sayı olduğunda örnek 99 program doğru çalışmıyor 99 u getiriyor….
Merhaba.
int buyuk = sayilar[0]; bu satır
int buyuk = 0;
olarak değiştirildi.
Uyarı için teşekkürler.
Ben teşekkür ederim,
Bir de seri de hiç çift sayı olmadığında “dizide çift sayı bulunamadı” yazdırabılmak için if(büyüksayi != -1) yerine if(buyuksayi != 0) dememiz mi gerekir?
Selamlar
evet haklısınız o kısımda değiştirildi.
Teşekkürler Hocam..