İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

Dizi hesaplatma

cpanelci9424.12.20133 cevap1.309 görüntüleme
2013'den beri3 mesaj
#1
merhaba arkadaşlar




linklerde 2 adet soru mevcuttur. 2.Soruda soldan sağa olan hesaplamayı yaptım ama sağdan sola olanı yapamadım. bu konuda yardımıza ihtiyacım . :(

bunları bana kim çözebilir :/
Cevaplar
cpanelci94 Konuyu açan
2013'den beri3 mesaj
#2
arkadaşlar bir sorum var şu şekil :

5*5 boyutlu bir dizinin içeriğine rastgele sayılar atanacaktır.
Oluşturulan 2 boyutlu dizinin soldan sağa ve sağdan sola olan köşegenlerini toplayan program.

soldan sağa sorun toplatabiliyorum.indeks numaraları eşit olunca. ama sağdan
sola olduğunda nasıl bir işlem yapmam gerekiyor. farklı olan indeksleri nasıl çapraz toplatabilirm .:/

private void button1_Click(object sender, EventArgs e)
{
int[,] dizi = new int[5, 5];
for (int satir = 0; satir < 5; satir++)
{

for (int sutun = 0; sutun < 5; sutun++)
{
dizi[satir, sutun] = rnd.Next(1, 10);
listBox1.Items.Add("["+sutun+"]"+"["+ satir+"]");
listBox2.Items.Add(dizi[satir, sutun]);
if(satir==sutun)
{
toplam = toplam + dizi[satir, sutun];

}

toplam2 = (dizi[4, 0] + dizi[3, 1] + dizi[1, 3] + dizi[0, 4]-dizi[2,2]);
textBox1.Text = toplam2.ToString();
textBox1.Text = (toplam + toplam2).ToString();

}

}

}
2011'den beri505 mesaj
#3
cpanelci94 dedi: ↑
arkadaşlar bir sorum var şu şekil :

5*5 boyutlu bir dizinin içeriğine rastgele sayılar atanacaktır.
Oluşturulan 2 boyutlu dizinin soldan sağa ve sağdan sola olan köşegenlerini toplayan program.

soldan sağa sorun toplatabiliyorum.indeks numaraları eşit olunca. ama sağdan
sola olduğunda nasıl bir işlem yapmam gerekiyor. farklı olan indeksleri nasıl çapraz toplatabilirm .:/

private void button1_Click(object sender, EventArgs e)
{
int[,] dizi = new int[5, 5];
for (int satir = 0; satir < 5; satir++)
{

for (int sutun = 0; sutun < 5; sutun++)
{
dizi[satir, sutun] = rnd.Next(1, 10);
listBox1.Items.Add("["+sutun+"]"+"["+ satir+"]");
listBox2.Items.Add(dizi[satir, sutun]);
if(satir==sutun)
{
toplam = toplam + dizi[satir, sutun];

}

toplam2 = (dizi[4, 0] + dizi[3, 1] + dizi[1, 3] + dizi[0, 4]-dizi[2,2]);
textBox1.Text = toplam2.ToString();
textBox1.Text = (toplam + toplam2).ToString();

}

}

}
Çapraz şöyle toplatabilirsin:

 int[,] Array = new int[5, 5];
            Random rnd = new Random();
            int Sum = 0;
            //Array'a rastgele değer ver
            for (int r = 0; r <= Array.GetUpperBound(0); r++)
            {
                for (int c = 0; c <= Array.GetUpperBound(1); c++)
                {
                    Array[r, c] = rnd.Next(1, 100);
                }
            }
            //Köşegenleri hesaplat
            int Row = 0;
            int Col = 0;
            for (Row = 0; Row <= Array.GetUpperBound(0); Row++)
            {
                Sum = Sum + Array[Row, Col];
                Col += 1;
            }
            Col = 0;
            for (Row = 0; Row <= Array.GetUpperBound(0); Row++)
            {
                Sum = Sum + Array[Array.GetUpperBound(0) - Row, Col];
                Col += 1;
            }
            //iki kere hesaplanan değeri çıkart
            Sum = Sum - Array[((Array.GetUpperBound(0) + 1 + 1) / 2) - 1, ((Array.GetUpperBound(1) + 1 + 1) / 2) - 1];
            MessageBox.Show  (Sum.ToString());
cpanelci94 Konuyu açan
2013'den beri3 mesaj
#4
hocam soldan sağa hesaplıyor . eşit olduğu her durumda . ama şöyle bir şey olabilir mi indeks numaralarının toplamı 4 olduğu zaman toplaması felan yani

dizi[4,0]+dizi[3,1]+dizi[1,3]+dizi[0,4]-dizi[2,2] şimdi hepsinin indeks numaralarını toplamı 4 . bunu if ile şarta nasıl bağlayabilirim .

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.