K
Aynı boyutta ikinci ve tanım değer kümesi boş bir matris oluştur. İçi içe iki tane döngü yeterlidir. Birincisi değerleri alacağın matrisi dolaşacak, ikincisi ise boş matrise karşılaştırma yapıp yazacak.
İkinci yöntemde kullandığın dil C ise pointer kullanabilirsin. Tek döngü ile de hallolur bu yöntemde. Kolay gelsin.
c# kodu aşağıda:
static void Main(string[] args)
{
int a = 0, b = 0;
int swap;
int m = 0, n = 0;
Console.WriteLine("Enter size of matrix:");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter size of matrix:");
b = Convert.ToInt32(Console.ReadLine());
int[,] arr = new int[a, b];
int[,] ydk = new int[a, b];
//matrix elemanlarını giriyorsun
for (int i=0; i < a; i++)
{
for (int j=0; j < b; j++)
{
Console.WriteLine("Enter matrix number");
arr[i, j] = Convert.ToInt32(Console.ReadLine());
ydk[i, j] = arr[i, j];
}
}
//matrixdeki son elemanları bakıp ona göre sort ediyor
for (int i = 0; i < a; i++)
{
for (int j = i; j < a; j++)
{
//ilk eleman son elemandan büyükse yer değiştiriyor.
if (arr[i, b-1] > ydk[j, b-1])
{
for (m = j; m < j+1; m++)
{
for (n = 0; n < b; n++)
{
swap = ydk[m,n];
ydk[m,n] = ydk[m - 1,n];
ydk[m - 1,n] = swap;
}
}
}
}
}
//ekrana bastırıyor.
for (int i = 0; i < a; i++)
{
for (int j = 0; j < b; j++)
{
Console.Write("{0}", ydk[i,j]);
}
Console.WriteLine();
}
Console.ReadLine();
}
kosasker doğru söylemiş. benim yaptığımda onun söleydiği esasında. matrixle uğraşıyosan 2. bir boş array hazırlaman gerekiyor.