Fermion
Hectopat
- Katılım
- 27 Ekim 2020
- Mesajlar
- 2.338
- Makaleler
- 72
- Çözümler
- 25
Üniversitelerde algoritma ve programlamaya giriş dersinin popüler sorularından birisi bu diziler ve dizileri çevirme. Özellikle bazı hocalar sorunun cevabını aşağıdaki çözümde olacak şekilde isteyebilir. Elbette bu cevabı daha kısa yazmak mümkün ama anlaşılması açısından böyle daha iyi olacağını düşündüm.
Soru tam olarak şu: satır ve sütün sayısını kullanıcının belirlediği iki boyutlu bir dizinin tüm elemanları bilgisayar tarafından rastgele doldurulduktan sonra bu diziyi saat yönünde 90 derece çevirip yeni diziye aktaran ve sonucu ekrana yazdıran konsol programını yazınız.
Soru tam olarak şu: satır ve sütün sayısını kullanıcının belirlediği iki boyutlu bir dizinin tüm elemanları bilgisayar tarafından rastgele doldurulduktan sonra bu diziyi saat yönünde 90 derece çevirip yeni diziye aktaran ve sonucu ekrana yazdıran konsol programını yazınız.
C#:
using System;
public class Dizis.
{
public static void Main(string[] args)
{
//Kullanıcıdan Satır ve Sütün Değerlerini Alma.
Console.Write("Satır sayısını gir: ");
int gs = Convert.ToInt32(Console.ReadLine());
Console.Write("Sütün sayısını gir: ");
int gs2 = Convert.ToInt32(Console.ReadLine());
//İki Boyutlu Dizileri Kullanıcının Belirttiği Sayı Aralıklarında Oluşturma.
int[,] dizi = new int[gs,gs2];
int[,] dizi2 = new int[gs,gs2];
//Rastgele Sayı Nesnesi Oluşturma.
Random rs = new Random();
//Rastgele Tutulan Sayıları Diziye Aktarma.
for(int s = 0; s<gs; s++)
{
for(int ss = 0; ss<gs2; ss++)
{
dizi[s,ss] = rs.Next(1,100);
}
}
//Diziyi Saat Yönünde 90 Derece Çevirip Yeni Diziye Aktarma.
for(int s = 0; s<gs; s++)
{
for(int ss = 0; ss<gs2; ss++)
{
dizi2[s,ss] = dizi[gs-1-ss,s];
}
}
//Diziyi Ekrana Yazdırma.
for(int s = 0; s<gs; s++)
{
for(int ss = 0; ss<gs2; ss++)
{
Console.Write(dizi2[s,ss]+" ");
}
Console.WriteLine();
}
}
}
Son düzenleyen: Moderatör: