C# Ta Matris İşlemleri

Yayınlandı: Haziran 23, 2010 / C#
Etiketler:, , , , , , , ,

C# ta Matris çarpması yaparken öncellikle matrisin ilk satrında ki tüm sutunları diğer matrisin il sutunundaki tüm satırlarla çarpıp topluyoruz böylece çarpım matrisinin ilk satrı olmuş oluyor diğer satırlarda aynen bu şekilde meydana geliyor.Aşağıda hem kaynak kodu var hemde linktende indirebilirsiniz programı.Ancak bu kodu anlayabilmeniz için matrisleri bilmeniz ve bir matris çarpımının ve toplamının nasıl olduğunu bilmeniz gerekiyor yinede sorularınızı beklerim!!!

Program Aşağıdaki linktedir.

http://rapidshare.com/files/402122415/Salih_Deveci-Matris.rar.html

şifre:salihdeveci

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Matris
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        bool Matris_Al(string str, int[,] dizi)
        {
            string[] s;
            char[] bölücüler = { ‘ ‘, ‘\r’ };
            s = str.Split(bölücüler);
            if (s.GetUpperBound(0) < (Convert.ToInt32(txtSatir.Text) * Convert.ToInt32(txtSutun.Text) – 1))
            {
                MessageBox.Show(“Matris yanlış girilmiÅŸ”);
                return false;
            }
            int k = 0;
            for (int i = 0; i < Convert.ToInt32(txtSatir.Text); i++)
            {
                for (int j = 0; j < Convert.ToInt32(txtSutun.Text); j++)
                {
                    dizi[i, j] = int.Parse(s[k]);
                    k++;
                }
            }
            return true;
        }

        private void btnTopla_Click(object sender, EventArgs e)
        {
            int x = Convert.ToInt32(txtSatir.Text);
            int y = Convert.ToInt32(txtSutun.Text);
            int[,] a = new int[x, y];
            int[,] b = new int[x, y];
            int[,] c = new int[x, y];

            Matris_Al(txtMatrisA.Text, a);
            Matris_Al(txtMatrisB.Text, b);

            label3.Text = “A + B matrisi : “;
            txtSonuc.Text = ” “;
            for (int i = 0; i < x; i++)
            {
                for (int j = 0; i < y; j++)
                {
                    c[i, j] = a[i, j] + b[i, j];
                    txtSonuc.Text = txtSonuc.Text + ” ” + c[i, j].ToString();
                }
                txtSonuc.Text = txtSonuc.Text + “\r\n”;
            }
        }

        private void btnCarp_Click(object sender, EventArgs e)
        {
            int x = Convert.ToInt32(txtSatir.Text);
            int y = Convert.ToInt32(txtSutun.Text);
            int[,] a = new int[x, y];
            int[,] b = new int[x, y];
            int[,] c = new int[x, y];
            int s = 0; ;

            Matris_Al(txtMatrisA.Text, a);
            Matris_Al(txtMatrisB.Text, b);

            for (int i = 0; i < x; i++)
            {
                for (int j = 0; j < y; j++)
                {
                    s = 0;
                    for (int k = 0; k < x; k++)
                    {
                        s = s + a[i, k] * b[k, i];
                    }
                    c[i, j] = s;
                }
            }
            for (int i = 0; i < x; i++)
            {
                for (int j = 0; j < y; j++)
                {
                    txtSonuc.Text = txtSonuc.Text + ” ” + c[i, j].ToString();
                }
                txtSonuc.Text += “\r\n”;
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show(“Matrisleri elemanlar arasında birer boÅŸluk olacak ÅŸekilde yazın\r\n” +
                            “Satırlar arasında enter’ e basınız…”);
        }
    }
}

MEHMET SALİH DEVECİ

BİLGİSAYAR MÜHENDİSİ YAZILIM UZMANI

Reklamlar
yorum
  1. yavuzbugra dedi ki:

    siteniz çok güzel olmuş..hayırlı olsun

  2. KUHEYLAN dedi ki:

    Teşekkür Ederim hocam darısı sizin gibi güzide yazılım uzmanlarınında başına!!!

  3. kaynak kod dedi ki:

    kaynak kodu bu adrese gonderebilirmisinizz

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s