//esas dizimizi oluşturuyoruz.
int[] dizi = new int[50];
//dizimize random sayılar atmak için random metodunu oluşturuyoruz.
Random rnd = new Random();
//değişkenleri oluşturuyoruz
int sayac = 0, deger=0;
//diziye rastgele değerler atıyoruz.
//bu değerlerin 4 katının 5 eksiği 3'e tam bölünüyosa 'deger' değişkenini arttırıyoruz.
for (int i = 0; i < dizi.Length; i++)
{
dizi[i] = rnd.Next(100);
Console.Write(dizi[i] + " ");
if (((dizi[i]*4)-5)%3==0)
{
deger++;
}
}
//3 e tam bölünenlerin sayısı kadar yeni bir dizi oluşturuyoruz
int[] yenidizi = new int[deger];
//esas (ilk) dizideki sayıların 4 katının 5 eksiği 3'e tam bölünüyosa yeni (ikinci) dizimize aktarıyoruz
for (int i = 0; i < dizi.Length; i++)
{
if (((dizi[i] * 4) - 5) % 3 == 0)
{
yenidizi[sayac] = dizi[i];
//ekrana yazdırıyoruz
Console.WriteLine(yenidizi[sayac]);
sayac++;
}
}
İlk önce dizimizi esas 50′lik dizimizi oluşturuyoruz ve buna rastgele sayılar aktarıyoruz.
Bu sayıları aktarırken if içinde ‘((dizi[i]*4)-5)%3==0′ yazmamızın sebebi Yeni oluşturacağımız dizinin boyutunu bilmememizdir. Burada işlemimiz doğru olduğu sürece ‘deger’ artacaktır ve gerekli boyut bulunacaktır. İsterseniz yeni dizimizi önceki dizi boyutunda yapabilirsiniz Tercih sizin.
İkinci for döngümüzde ise bu sayıları yeni dizimize aktarma ve ekrana yazdırma işlemi yapıyoruz, tabi bu da sizin tercihinize kalmıştır. İkinci for döngüsünde sadece yeni diziye aktarabilir daha sonra yeni bir for döngüsüyle yeni dizimizi ekrana yazdırabilirsiniz.
Diğer gerekli açıklamalar kodların üstündedir.
Hiç yorum yok:
Yorum Gönder
Yorum Yaz...