«

»

Oca 22

2 Matris Arasındaki Benzerlik

Matris işlemlerinden bir örnek daha paylaşmak istiyorum.  8 x 8 boyutlu 2 matris arasındaki benzerliği yüzde olarak verdirmeyi amaçlayan bu program matris işlemlerinde size örnek oluşturabilecek nitelikte. Bu işlemleri int tipinden matrislerde gerçelştireceğim eşitlik kısmında yapacağınız küçük değişiklikle programınızı string dizileri karşılaştırır hale getirebilirsiniz. Matrise gelecek olursak

Main Metod aşağıdaki gibi ; Benzerliğin bulunacağı dizileri tanımladık ve nesnemizi oluşturduk. Nesnemiz vasıtasıyla metoda ulaştık ve metodun içerisine parametre olarak 2 diziyi gönderdik

int[,] dizi1 = { {1,4,0,3,1,1,7,1},{2,0,8,1,3,1,4,1},{2,8,1,1,5,0,9,0},{1,2,1,4,6,1,1,7},
{9,0,1,1,5,1,1,0},{1,0,2,0,5,1,1,0},{1,0,1,9,1,1,1,0},{1,3,2,1,2,1,1,0}};

int[,] dizi2= { {2,0,1,8,1,5,1,1},{2,0,1,4,1,1,8,1},{1,6,1,1,9,0,5,0},{1,0,1,1,0,1,1,0},
{9,0,1,2,0,8,1,0},{1,2,0,3,0,1,1,0},{7,1,7,1,1,6,1,7,0},{5,1,1,1,1,7,1,0}};

Program nesnesi = new Program();

nesnesi.benzerlikbul(dizi1, dizi2);
Console.ReadKey();

İşi yapan Metodumuz ise ; benzerlikbul metodumuz içine 2 adet dizi aldı parametre olarak bu dizilerde 8 x 8 boyutundadır. iç içe açılmış 2 for döngüsü ile tek tek her elemanı karşılaştırıp eşit olması durumunda yuzde isimli sayacımızı 1 artırıyoruz. Daha sonra yüzde değişkenimizin formülle yüzdelik dilimini hesaplıyoruz. (64/100) ve aynı metod içerisinde yazdırma işlemini gerçekleştiriyoruz.

class Program{ 

int yuzde;
public void benzerlikbul(int[,] dizi1,int[,]dizi2){

for (int i = 0; i < 8; i++)
{
        for (int j = 0; j < 8; j++)
        {
                 if (dizi1[i,j] == dizi2[i,j])    //if(dizi1[i,j].Equals(dizi2[i,j])) dersek string dizileri karşılaştırmış oluruz.
       {
        yuzde=yuzde+1;
}
}
}

int x = (100 * yuzde) / 64;

Console.WriteLine(“Benzerlik =%” + x);

}

}

1 yorum

  1. Elage

    Thanks so much for this. This is awesome post I ever seen on innteert. This is rare to find that’swhy difficult to understand. Anyway, you are definitely someone that has something to say that people need to hear. Keep up the good work. Keep on inspiring the people.For more information regards:

Bir Cevap Yazın