Matrisin Transpozesinin Alınması

Bir matrisin satır ve sütunların yer değiştirdiğinden oluşan matrise transpoze matris denir.

Programda kullanıcıdan matris boyutu istenmektedir. Matrisin verileri random fonksiyonu ile rastgele değer alması sağlanmıştır. Eğer istenilerse matris oluşturmada matrisA[i, j] = rnd.Next(1, 25);yerine matrisA[i, j] = Convert.ToInt32(Console.ReadLine());yazılarak verilerin kullanıcıdan alınması sağlanabilir.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//www.delimuhendis.com
namespace TranspozeMatris
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Kare matris için geçerlidir.\nMatris boyutunu giriniz:");
            int boyut = Convert.ToInt32(Console.ReadLine());
            

            Random rnd = new Random();
            int[,] matrisA = new int[boyut, boyut];

            // Matris oluşturma ve listeleme

            for (int i = 0; i < boyut; i++)
            {
                for (int j = 0; j < boyut; j++)
                {
                    matrisA[i, j] = rnd.Next(1, 25);
                    Console.Write(matrisA[i, j] + "\t");
                }
                Console.WriteLine();
            }

            Console.WriteLine();

            // Matrisin transpozunu alma
            for (int i = 0; i < boyut; i++)
            {
                for (int j = i; j < boyut; j++)
                {
                    int gecici = matrisA[i, j];
                    matrisA[i, j] = matrisA[j, i];
                    matrisA[j, i] = gecici;
                    
                }
                
            }

            for (int i = 0; i < boyut; i++)
            {
                for (int j = 0; j < boyut; j++)
                    Console.Write(matrisA[i, j] + "\t");
                Console.WriteLine();
            }

            Console.Read();

        }
    }
}

 

Become a patron at Patreon!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: