Merhaba arkadaşlar, matrislere çalışırken bir örnek yapmak istedim.Örnek şu şekilde NxN tipi bir matris var. A ve b matrislerin çarpımı klavyeden giriliyor ve bu iki matrisin çarpımı C matrisine atanıyor.Yani matematikte yapılan iki matrisi çarpma işlemi yapmak istiyorum. Ancak benim hazırladığım kodda sonuçlar gerçeğinde farklı değerler çıkıyor. Kodlar şu şekilde;
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Matris degerini giriniz"); int n = int.Parse(Console.ReadLine()); int[,] a = new int[n, n]; int[,] b = new int[n, n]; int[,] c = new int[n, n]; // a dizisine eleman girme for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { Console.Write("a[{0}{1}]=", i, j); a[i, j] = int.Parse(Console.ReadLine()); } } // b dizisine eleman girme for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { Console.Write("b[{0}{1}]=", i, j); b[i, j] = int.Parse(Console.ReadLine()); } } // c dizise atama ve carpma işlemi for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { c[i,j]=0; for (int k = 0; k < n; k++) c[i, j] = a[i, k] * b[k, j]; // yazdırma Console.WriteLine(c[i, j]); } } Console.ReadLine(); } } }
Ben şu örnekten esinlenerek değerleri giriyorum ancak cevaplar farklı çıkmaktadır.
< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >
Görüldüğü gibi cevapların 9-13-6-8 çıkması gerekirken bende 9-12-6-8 çıkıyor. Acaba nerde yanlış yapmış olabilirim.?
< Bu mesaj bu kişi tarafından değiştirildi Portman -- 29 Ekim 2013; 0:20:27 >