Обработка двумерного массива - C#
Формулировка задачи:
4.Дан двумерный массив размером N*N, заполненный целыми числами.
Сформировать одномерный массив:
а) каждый элемент которого равен количеству отрицательных элементов в
соответствующей строке двумерного массива, кратных 3 или 7.
б) из элементов заданного массива, расположенных над побочной
диагональю;
в) каждый элемент которого равен первому четному элементу
соответствующего столбца двумерного массива (если такого элемента в
столбце нет, то он равен нулю).
2
г) из отрицательных элементов исходного массива.
Помогите решить хоть какую-нибудь букву.
class Program
{
static void Vvod(int[,] N)
{
{
Random n = new Random();
for (int i = 0; i < N.GetLength(0); i++)
for (int j = 0; j < N.GetLength(1); j++)
N[i, j] = n.Next(-10, 10);
}
}
static void Vivod(int[,] N)
{
{
for (int i = 0; i < N.GetLength(0); i++)
{
for (int j = 0; j < N.GetLength(1); j++)
Console.Write("{0}\t", N[i, j]);
Console.WriteLine();
}
}
}Решение задачи: «Обработка двумерного массива»
textual
Листинг программы
static void Main(string[] agrg)
{
int[,] mass= new int[5,5];
Vvod(mass);
Vivod(mass);
// первое задание
int[] massiv1zad = new int[mass.GetLength(0)];
for (int i=0 ;i<massiv1zad.Length; i++)
{
for (int j=0;j<mass.GetLength(1);j++)
{
if( (mass[i,j]<0) && (mass[i,j]%3==0 || mass[i,j]%7==0))
massiv1zad[i]++;
}
}
foreach(var k in massiv1zad)
{
Console.Write(k+" ");
}
Console.WriteLine();
// второе задание
int[] massiv2zad = new int [mass.GetLength(0)-1];
for (int i =0;i<massiv2zad.Length;i++)
{
massiv2zad[i]=mass[i,mass.GetLength(1)-i-2];
}
foreach(var k in massiv2zad)
{
Console.Write(k+" ");
}
Console.WriteLine();
// третье задание
int[] massiv3zad = new int [mass.GetLength(1)];
for (int i=0 ;i<massiv1zad.Length; i++)
{
for (int j=0;j<mass.GetLength(0);j++)
{
if (mass[j,i]%2==0)
{
massiv3zad[i] = mass[j,i];
break;
}
massiv3zad[i]=0;
}
}
foreach(var k in massiv3zad)
{
Console.Write(k+" ");
}
Console.WriteLine();
//четвертое задание
int otrElementov=0;
for (int i=0 ;i<massiv1zad.Length; i++)
{
for (int j=0;j<mass.GetLength(1);j++)
{
if(mass[i,j]<0)
otrElementov++;
}
}
int[] massiv4zad = new int [otrElementov];
for (int i=0, ii=0 ;i<massiv1zad.Length; i++)
{
for (int j=0;j<mass.GetLength(1);j++)
{
if(mass[i,j]<0)
{
massiv4zad[ii]=mass[i,j];
ii++;
}
}
}
foreach(var k in massiv4zad)
{
Console.Write(k+" ");
}
Console.WriteLine();
}