C#’da Matrise giriş yaptırıp transpozesini (tersini) alan konsol uygulaması

C#’da Matrise giriş yaptırıp transpozesini (tersini) alan konsol uygulama:

Matrisin Transpozu nasıl alınır?

M x N şeklindeki matrisin transpozu N x M şeklindedir. Yani transpozesi yapılacak olan matrisin satırları sütünlara, sütunları ise satırları yazılır. Daha iyi bir şekilde anlamak için aşağıdaki resmi inceleyebilirsiniz.

c programlama   matrisin transpozesesi transpozu nasil alinir  C programlamada matrisin transpozesi

Geçen ders içerisinde C# programlamada dizi uygulaması yaparak dizileri tanımıştık. Ne zaman herhangi bir programlama dilinde çok boyutlu dizileri tanımak ve pratik ile kullanımını anlatmak amacıyla matrisler kullanılır. Bu matris örneklerinde klavyeden giriş yaptırma ve matris transpozesi yoğunluktadır. Biz de bu dersde hem matrise klavyeden giriş yaptıracaz hem de girilen matris değerinin transpozesini alıcaz.

C#’da Matrise giriş yaptırıp transpozesini (tersini) alan konsol programının Algoritması:

  1. BAŞLA
  2. Döngüye gir (m=0’dan m<3’e kadar)
  3. Alt döngüye gir (n=0’dan n<2’e kadar)
  4. “Matris [” m “,” n “] değeri : ” yaz
  5. matris[m][n] gir
  6. Alt Döngüden çık (n<2 ise)
  7. Döngüden çık (m<3 ise)
  8. “Standart Matris” yaz ve Döngüye gir (m=0 dan m<3’e kadar)
  9. Alt döngüye gir (n=0’dan n<2’ye kadar)
  10. “Matris [” m “,” n “] = ” matris[m,n] yaz
  11. Alt döngüden çık (n<2 ise)
  12. Döngüden çık (m<3 ise)
  13. “Transpoz Matris” yaz ve Döngüyü başlat (m=0’dan m<3’e kadar)
  14. Alt döngüye gir (n=0’dan n<2’ye kadar)
  15. nt=n;
  16. mt=m;
  17. “Matris [” m “,” n”] =” matris[nt,mt]
  18. Alt döngüden çık(n>2 ise)
  19. Döngüden çık (m<3 ise)
  20. DUR

Algoritma Açıklaması:

Matris oluşturmak için iki adet for döngüsü kullanıyoruz. İlk for döngümüz satırları oluştururken ikinci yani alt döngümüz ise satırlar içerisinde sütünları oluşturuyor. Bu sayede ortaya satırları ve sütün hücreleri bulunan matris ortaya çıkıyor. Daha iyi bir şekilde anlamak için aşağıdaki for döngüsü örneğini inceleyin.

c programlama   c programlama matrisler c programi aciklama  C programlamada matrisin transpozesi

C#’da Matrise giriş yaptırıp transpozesini (tersini) alan programın Akış Diyagramı:

c_sharp_programlama_matris_transpozesini_almak

Akış Diyagramının Açıklaması:

Akış diyagramı ve açıklamalarını ulaşmak için tıklayın.

C# Programlamanın Açıklaması:

C# kodları nasıl çalıştırılır (derlenir) öğrenmek için tıklayın.

C# Programlamada temel veri tipleri(Değişken Tipleri) için tıklayın.

C# Programlamada değişken tanımlama kuralları için tıklayın.

C#’da Matrise giriş yaptırıp transpozesini (tersini) alan program – C# programı:

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

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
int[,] matris = new int[3, 2];
int m,n=0;
for (m = 0; m < 3; m = m + 1) { for (n=0; n < 2; n = n + 1) { Console.WriteLine("Matris[" + m + "," + n + "] değerini girin:"); matris[m, n] = Convert.ToInt32(Console.ReadLine()); } } for (m = 0; m < 3; m = m + 1) { for (n=0; n < 2; n = n + 1) { Console.WriteLine("Standart Matris değerleri\n Matris[" + m + "," + n + "] =" + matris[m,n]); } } Console.WriteLine("\n\n"); for (m = 0; m < 2; m = m + 1) { for (n = 0; n < 3; n = n + 1) { // Transpos int[,] matrist = new int[2, 3]; int mt, nt; nt = n; mt = m; Console.WriteLine("Tranzpos Matris değerleri\n Matris[" + m + "," + n + "] =" + matris[nt,mt]); } } Console.ReadLine(); } } }

C# programının açıklaması - C# programlama:

C# da programımızı tanımlayacağıız değerlerin bilgisayara tarafından algılanması için .NET Kütüphanelerini eklemeliyiz. Bunun için using kısmında kullanacağımız kütüphaneleri program içerisinde kullanacığımızı dile getirdik. Birlikte ortak çalışabilecek alan anlamına gelen NameSpace yani ad alanının içerisinde Program sınıfı oluşturulmuş. Biz de bu sınıf içerisine C dilinde olduğu gibi ana fonksiyon içerisine program içerisinde direkt olarak çalışmasını istediğimi kodları yazacağız.

Tamsayı tipinde çok boyutlu matris isimli bir dizi tanımlıyoruz. For döngüsü bizim belittiğimiz değerleri tekrar tekrar çalıştırır. Biz de iki adet kullanarak Algoritma kısmında anlatıldığı gibi Matris oluşturmayı amaçlıyoruz. Console sınıfının içerisindeki çıkış fonksiyonu WriteLine() yardımıyla kullanıcıya mesaj iletiyoruz. Yine Console sınıfının içerisinde giriş fonksiyonu ReadLine() ile de kullanıcıdan bir giriş yaptırarak matris değerlerini elde ediyoruz.

Son aşamalarda standart değer ve transpoz matrisde m'in yerine n, n'in yerine m geldiği  için ikisinin yerlerini değiştiriyoruz. Böylece transpoz matrisi elde etmiş oluyoruz.

Önizleme:

c_sharp_programlama_matris

C# uygulamasının proje hali ve yazılımı:

Proje halindeki dosyayı indir.

Uygulama halindaki dosyayı indir.

C# Dizi döngüsü konsol uygulaması

C# Dizi döngüsü konsol uygulaması:

Bu uygulama içerisinde C# Programlama Dilinde dizilerin ne anlama geldiğini anlamaya çalışıcaz. Dizinin tanımı;

Dizi nedir?

“Dizilere birden fazla değeri taşıyabilen değişken diyebiliriz.  Diziler bir diğer anlamda bir çok değişken kullanmak yerine tek bir değişkene sayısal bir değer vererek işlemi pratik bir şekilde yapmamızı sağlayan programlama yöntemidir. Daha iyi açıklamak için şöyle bir şey düşünebiliriz. Bir eviniz olsun. Bu evinizin içerisine yerleştirdiğiniz çeşitli eşyalara sahip olun. Bunlar dolap,masa ,ayna vb. eşyalar olsun. Bir masayı, dolabı ve aynayı göstermek için ev[masa], ev[dolap] ve ev[ayna] ifadeleri kullanalım. Burada ev dizimizin anahtarıyken masa,dolap ve ayna eşyaları ev dizisinin değerleridir.

NOT: Aynı zamanda dizinin mantığını anlamak için Türkçe manasından yola çıkılabilir.TDK’ye göre Dizi;
1. isim Bir iplik veya tel üzerine dizilmiş inci, boncuk vb.nin oluşturduğu bütün, sıra
İki dizi inci.
2. Herhangi bir bakımdan bir bütün oluşturan şeylerin tümü, seri
İşte bütün eserlerini bir araya toplayacak olan bu dizinin başına yazılacak ön söz.” – A. Ş. Hisar
3. Yan yana, art arda veya zaman sırasına göre sıralanmış birbiriyle ilişkili nesne veya olayların oluşturduğu bütün sıra
Bir dizi olay. Olaylar dizisi.

C# Dizi döngüsü konsol programının Algoritması:

  1. BAŞLA
  2. “Kaç adet değer gireceksiniz yaz”,  n gir ve i=0;
  3. “Dizinin” (i+1). “elemanı:” yaz
  4. dizim[i] gir
  5. i<n şartı geçerli mi?  e:6 h:7
  6. i değerini bir artır ve 3’e git
  7. “Dizi değerleri aktarılıyor” yaz
  8. “Dizinin ” i+1 “elemanı: ” dizim[i] yaz
  9. toplam=toplam+dizim[i]
  10. i<n şartı geçerli mi? e:11 h:12
  11. i değerini bir artır ve 8’e git
  12. “Dizinin aritmetik ortalamasi” toplam/n yaz
  13. DUR

Algoritma Açıklaması:

 Standart olarak BAŞLA dedikten sonra kullanıcıdan değer aldığımızı göstermek amaçlı “Kaç adet değer girecekseniz yaz” yazdırdık. Yine aynı amaçlı kullanıcıdan Dizinin n. elemanını gir mantığında bir ipucu daha belirtirek değer almaya devam ettik ve bunları dizim[i] dizisine saklı tuttuk. N tane değer aktaracağımız için i<n şartı geçerliliğini yitirine kadar döndür ve her döndüğünde n+1 işlemini gerçekleştir.  Son olaraksa dizi değerlerini aldığımız methodda yalnızca değer girmeyerek kullanıcıya gösterdik.

C# Dizi döngüsü konsol uygulaması Akış Diyagramı:

c_sharp_dizi_dongusu_algoritma

Akış Diyagramının Açıklaması:

Akış diyagramı ve açıklamalarını ulaşmak için tıklayın.

C# Programlamanın Açıklaması:

C# kodları nasıl çalıştırılır (derlenir) öğrenmek için tıklayın.

C# Programlamada temel veri tipleri(Değişken Tipleri) için tıklayın.

C# Programlamada değişken tanımlama kuralları için tıklayın.

C# Dizi döngüsü konsol uygulaması – C# programı:

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

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
int[] dizim = new int[20];
int i,n,toplam=0;
Console.WriteLine("Kaç adet değer gireceksiniz:");
n = Convert.ToInt32(Console.ReadLine());
for (i = 0; i < n; i = i + 1) { Console.WriteLine("Dizinin "+(i+1)+" değerini giriniz:"); dizim[i] = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine("Dizi değerleri aktarılıyor... \n\n\n"); for (i = 0; i < n; i = i + 1) { Console.WriteLine("Dizinin " + (i+1) + " değeri:" + dizim[i]); toplam = toplam + dizim[i]; } Console.WriteLine("Dizinin aritmetik ortalaması"+toplam/n); Console.ReadLine(); } } }

C# programının açıklaması - C# programlama:

Programımızın çalışması için gerekli olan .NET kütüphaneleri ekledik. Birlikte ortak çalışabilecek alan anlamına gelen NameSpace yani ad alanının içerisinde Program sınıfı oluşturulmuş. Biz de bu sınıf içerisine C dilinde olduğu gibi ana fonksiyon içerisine program içerisinde direkt olarak çalışmasını istediğimi kodları yazacağız.

Tamsayı anlamına gelen int (integer) tipinde dizim adında bir dizi oluşturduk. Daha sonra Console sınıfının içerisinde WriteLine() fonksiyonu çağırarak ekrana "Kaç adet değer girecekseniz: " yazdırdık. Bu yaptığımız çıkış işlemiydi. Şimdi ise bir giriş işlemi yaptırarak yine Console sınıfının içerisinde ReadLine() fonksiyonunu kullanıcaz. Bu fonksyiondan önce Convert sınıfının içerisinde ToInt32() fonksiyonunu kullanıyoruz. Bunu yapmamızın nedeniyse kullanıcı tarafından girilen değerin string yani karakter tipinde alınmasıdır. Biz kullanıcı tarafından girilen değeri tamsayı tipine çevirerek ancak tamsayı değişkenine aktarıp bir işlem yaptırabiliriz. Gelelim ReadLine işlemine. Bu işlemdeyse kullanıcı tarafından sayıları girdireceğiz. Tabi aynı zamanda bunu n kadar yapmak için for döngüsü kullanıyoruz. Diziyi n kadar çalıştırıp kullanıcıdan değerleri aldıktan sonra bu işlemin aynısını aşağıya kopyalıyoruz. İçerisinden yalnızca ReadLine() fonksiyonunu kaldırıp toplam=toplam+dizim[i] diyip sayıların ortalamasını hesaplamak için bir işlem ekliyoruz. Dizi değerlerini gösterdikten sonraysa aritmetik ortalamayı gösterip ReadLine fonksiyonu ile klavyeden bir tuş basıldıktan sonra programın kapanmasını söylüyoruz.

Önizleme:

c_sharp_dizi_dongusu_onizleme

C# uygulamasının proje hali ve yazılımı:

Proje halindeki dosyayı indir.

  Uygulama halindaki dosyayı indir.