Bolu Beyi tarafından yazıldı Kasım - 13 - 2011 4 Yorum

Daha önceden c sharp ile matris çarpımı programını vermiştim. Çarpma işlemine göre daha basit olan c sharp ile matris toplama işlemini de paylaşayım istedim. Bu program sayesinde iç içe for döngülerinin kullanımı ve iki boyutlu dizilerin mantığını rahatlıkla anlayabileceğiz. Öncelikle c sharp dilinde iki boyutlu bir dizi tanımlarken “int[,]=new int[boyut,boyut]” şeklinde tanımlıyoruz. Boyut yazdığımız yerlere eleman sayısını kaç istiyorsak o rakamı yazıyoruz.

İç içe for döngülerinde önce dışarıdaki for döngüsü çalışır. Örnekle açıklamak gerekirse, farz edelim ki 2 adet for döngümüz var. 1. döngümüz 0-3 aralığında, 2. döngümüz 0-4 aralığında çalışıyor olsun. Öncelikle dıştaki for 0 olduğunda içteki 4’e kadar çalışır. Sonra dıştaki for 1 artar ve içteki for yine 4 kez çalışarak turu tamamlar.Dıştaki for tekrar 1 artarak 2 değerini alır içteki yine turu tamamlar ve dıştaki for döngüsü 0-3 aralığında değer aldığı için son olarak 3 değerini alır, içteki döngü bir kez daha çalışır ve tamamlanır.

Bu örneğimizde de iç içe for döngüleri kullanarak satır ve sütunlardan oluşan matris elemanlarımızı giriyoruz ve toplama işlemini yaptırarak sonucu ekrana yazdırıyoruz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bolubeyi.Net
{
class Program
{
static void Main(string[] args)
{
//Dizi elemanlarını kendimiz gireceğimiz için sadece boyutlarını tanımlıyoruz
int[,] BirinciDizi = new int[3, 3];
int[,] İkinciDizi = new int[3, 3];
int[,] Toplam_Sonucu = new int[3, 3];

            Console.WriteLine(“1. dizinin elemanlarını giriniz”);//Birinci matrisin elemanlarını giriyoruz
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
BirinciDizi[i, j] = Convert.ToInt32(Console.ReadLine());
}

Console.WriteLine(“2. dizinin elemanlarını giriniz”);//İkinci matrisin elemanlarını giriyoruz
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
İkinciDizi[i, j] = Convert.ToInt32(Console.ReadLine());
}

for (int k = 0; k < 3; k++)// İç içe for döngülerini kullanarak toplama işlemini yaptırıyoruz
{
for (int i = 0; i < 3; i++)
{
Toplam_Sonucu[k, i] += BirinciDizi[k, i] + İkinciDizi[k, i];
}
}
Console.WriteLine(“Toplama işleminin sonucu:”);//Burada da ekrana yazdırıyoruz.
for (int i = 0; i < 3; i++)
{
Console.WriteLine(“”);
for (int j = 0; j < 3; j++)
{
Console.Write(“{0}t”, Toplam_Sonucu[i, j]);
}
}
}
}
}

Bugüne kadar 4 yorum yapıldı

  1. BarışBey dedi ki:

    Matris yerine keşke daha kolay matematiksel bir şeyde açıklasaydınız.İlk önce boyut belirlemişiniz de ben o i,j,k olayını anlamadım hocam.

  2. bolubeyi dedi ki:

    matris çok önemli değil zaten, ikinci paragrafta anlattım. ijk da ise her for döngüsü için karışmaması açısından farklı bir değişken tanımlıyoruz. istersen i yaz istersen sayac yaz farketmez. İçerdeki for döngüsü turunu tamamlayınca üstteki for döngüsünün sayacı 1 artar. Bu sürekli böyle devam eder ve en dıştaki for döngüsünün sayac sayısı bitince tamamlanır

  3. Halit dedi ki:

    teşekkürler 🙂

  4. bolubeyi dedi ki:

    @halit rica ederim:)


Time limit is exhausted. Please reload CAPTCHA.