using System;
namespace FirstLab
{
class FirstLab
{
static void Main(string[] args)
{
//JaggedArray is an array of arrays
int[][] OrigJaggedArr =
{
new int [] { 1, 1, 0, 1 },
new int [] { 0, 1, 1, 1 },
new int [] { 1, 1, 1, 0 },
new int [] { 1, 0, 1, 1 }
};
Console.WriteLine("Original Array is:\n");
Print_Array(ref OrigJaggedArr);
RowSwap(ref OrigJaggedArr);
Console.WriteLine("\n-------------------\n\nFixed Array is:\n");
Print_Array(ref OrigJaggedArr);
Console.ReadKey();
}
//Method to swap the rows
private static void RowSwap(ref int[][] OrigArr)
{
int[] Temp = new int[4];
int Counter = 0;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
if (OrigArr[i][j] == 0)
{
for (int k = 0; k < 4; k++)
Temp[k] = OrigArr[i][k];
for (int k = 0; k < 4; k++)
if (Temp[k] == 0)
Counter++;
if (Counter > 1)
Environment.Exit(0);
for (int k = 0; k < 4; k++)
{
OrigArr[i][k] = OrigArr[j][k];
OrigArr[j][k] = Temp[k];
}
Counter = 0;
}
// MoreSwap(OrigArr, i, j);
}
}
//One more method to swap the rows
/* private static void MoreSwap(int[][] OrigArr, int Row, int Col)
{
int[] Temp = new int[4];
int Counter = 0;
for (int i = 0; i < 4; i++)
Temp[i] = OrigArr[Row][i];
for (int i = 0; i < 4; i++)
if (Temp[i] == 0)
Counter++;
if (Counter > 1)
Environment.Exit(0);
for (int i = 0; i < 4; i++)
{
OrigArr[Row][i] = OrigArr[Col][i];
OrigArr[Col][i] = Temp[i];
}
}*/
//Method to print the array
private static void Print_Array(ref int[][] Array)
{
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
Console.Write(Array[i][j] + " ");
}
Console.WriteLine();
}
}
}
}