İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

C# dizin hesaplatma

bezçanta

0
İyinet Üyesi
Katılım
4 Aralık 2013
Mesajlar
34
Reaction score
0
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();

}

}

}
 

bezçanta

0
İyinet Üyesi
Katılım
4 Aralık 2013
Mesajlar
34
Reaction score
0
ilkinde dizi[2,2] içinde olan değeri hesapladık . ikincisinde değerii tekrar toplamaması için - yaptım .
 

Bolu Beyi

0
İyinet Üyesi
Katılım
7 Nisan 2010
Mesajlar
2,895
Reaction score
36
Toplamaması için - yapılmaz ki, dizi[2,2] yi hiç hesaba katmazsın o zaman? - yaparak hem hesaba katmamış oluyorsun, üstüne bir de o değeri çıkarıyorsun. Yani sonucun hep eksik çıkar bu duruma göre. Ya da ben mi yanlış anladım mevzuyu?
 

bezçanta

0
İyinet Üyesi
Katılım
4 Aralık 2013
Mesajlar
34
Reaction score
0
peki o zaman hesaba katmadan . sadece sağdan sola olan hesaplama için nasıl bir if yapısı kullanabilirim.
 

Bolu Beyi

0
İyinet Üyesi
Katılım
7 Nisan 2010
Mesajlar
2,895
Reaction score
36
Böyle tek tek yazmak yerine pratik bir yol mu arıyorsunuz? (dizi[4, 0] + dizi[3, 1] + dizi[1, 3] + dizi[0, 4])

Eğer öyleyse benim de aklıma gelen birşey yok
 

bezçanta

0
İyinet Üyesi
Katılım
4 Aralık 2013
Mesajlar
34
Reaction score
0
problemi çözdüm sonunda

namespace dizi
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int toplam = 0;
int toplam2 = 0;

Random rnd = new Random();
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, 5);
listBox1.Items.Add("["+sutun+"]" + "["+satir+"]");
listBox2.Items.Add(dizi[satir, sutun]);


if(satir==sutun || satir+sutun==4) // satir sutun toplamı da 4 olduğunda topla dedim . ilk baştada 2,2 toplamaya kattın ikincisinde katmadı .//
{
listBox3.Items.Add(dizi[satir, sutun]);

toplam = toplam + dizi[satir, sutun];
}
textBox1.Text = toplam.ToString();
}

}

}
}
}
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst