Загрузка данных
using System;
class Program
{
static void Main()
{
Random rnd = new Random();
// 1
int[,] arr1 = new int[4, 4];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
arr1[i, j] = rnd.Next(-10, 11);
// а) четные в углах
bool evenCorners = arr1[0, 0] % 2 == 0 || arr1[0, 3] % 2 == 0
arr1[3, 0] % 2 == 0 arr1[3, 3] % 2 == 0;
Console.WriteLine("1а) Есть чётные в углах: " + evenCorners);
// б) числа, оканчивающиеся на 0
bool endsWithZero = arr1[0, 0] % 10 == 0 || arr1[0, 3] % 10 == 0
arr1[3, 0] % 10 == 0 arr1[3, 3] % 10 == 0;
Console.WriteLine("1б) Есть оканчивающиеся на 0 в углах: " + endsWithZero);
// 2
int[,] arr2 = new int[4, 4];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
arr2[i, j] = rnd.Next(1, 20);
Console.Write("2) Введите номер столбца k (0-3): ");
int k2 = int.Parse(Console.ReadLine());
Console.Write("2) Введите номер строки n (0-3): ");
int n2 = int.Parse(Console.ReadLine());
// а) элементы k-го столбца снизу вверх
Console.Write("2а) Столбец " + k2 + " снизу: ");
for (int i = 3; i >= 0; i--)
Console.Write(arr2[i, k2] + " ");
Console.WriteLine();
// б) элементы n-й строки снизу вверх
Console.Write("2б) Строка " + n2 + " снизу: ");
for (int j = 3; j >= 0; j--)
Console.Write(arr2[n2, j] + " ");
Console.WriteLine();
// 3
int[,] arr3 = new int[4, 4];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
arr3[i, j] = rnd.Next(-10, 20);
int sum3 = 0;
int sumSq3 = 0;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
sum3 += arr3[i, j];
sumSq3 += arr3[i, j] * arr3[i, j];
}
}
double avg3 = (double)sum3 / 16;
Console.WriteLine("3а) Сумма элементов: " + sum3);
Console.WriteLine("3б) Сумма квадратов: " + sumSq3);
Console.WriteLine("3в) Среднее: " + avg3);
// 4
int[,] arr4 = new int[4, 4];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
arr4[i, j] = rnd.Next(1, 20);
// а) строка с минимальной суммой
int minRowSum = int.MaxValue;
int minRowIndex = 0;
for (int i = 0; i < 4; i++)
{
int rowSum = 0;
for (int j = 0; j < 4; j++)
rowSum += arr4[i, j];
if (rowSum < minRowSum)
{
minRowSum = rowSum;
minRowIndex = i;
}
}
Console.WriteLine("4а) Строка с мин суммой: " + minRowIndex + " (сумма " + minRowSum + ")");
// б) столбец с максимальной суммой
int maxColSum = int.MinValue;
int maxColIndex = 0;
for (int j = 0; j < 4; j++)
{
int colSum = 0;
for (int i = 0; i < 4; i++)
colSum += arr4[i, j];
if (colSum > maxColSum)
{
maxColSum = colSum;
maxColIndex = j;
}
}
Console.WriteLine("4б) Столбец с макс суммой: " + maxColIndex + " (сумма " + maxColSum + ")");
// 5
int[,] arr5 = new int[4, 4];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
arr5[i, j] = rnd.Next(1, 20);
Console.Write("5) Введите номер строки k (0-3): ");
int k5 = int.Parse(Console.ReadLine());
Console.Write("5) Введите номер столбца s (0-3): ");
int s5 = int.Parse(Console.ReadLine());
int rowSum5 = 0;
int colSum5 = 0;
for (int j = 0; j < 4; j++)
rowSum5 += arr5[k5, j];
for (int i = 0; i < 4; i++)
colSum5 += arr5[i, s5];
int max5 = rowSum5 > colSum5 ? rowSum5 : colSum5;
Console. WriteLine("5) Максимум из двух сумм: " + max5);
// 6
int[,] arr6 = new int[4, 4];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
arr6[i, j] = rnd.Next(-10, 10);
// а) первый отрицательный в каждой строке
Console.WriteLine("6а) Первые отрицательные по строкам:");
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
if (arr6[i, j] < 0)
{
Console.WriteLine(" Строка " + i + ": " + arr6[i, j]);
break;
}
}
}
// б) последний чётный в каждой строке
Console.WriteLine("6б) Последние чётные по строкам:");
for (int i = 0; i < 4; i++)
{
for (int j = 3; j >= 0; j--)
{
if (arr6[i, j] % 2 == 0)
{
Console.WriteLine(" Строка " + i + ": " + arr6[i, j]);
break;
}
}
}
// 7
int[,] arr7 = new int[4, 4];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
arr7[i, j] = rnd.Next(1, 20);
// а) минимум главной диагонали
int minMain = arr7[0, 0];
for (int i = 1; i < 4; i++)
{
if (arr7[i, i] < minMain)
minMain = arr7[i, i];
}
Console.WriteLine("7а) Мин главной диагонали: " + minMain);
// б) максимум побочной диагонали
int maxSide = arr7[0, 3];
for (int i = 1; i < 4; i++)
{
if (arr7[i, 3 - i] > maxSide)
maxSide = arr7[i, 3 - i];
}
Console.WriteLine("7б) Макс побочной диагонали: " + maxSide);
// 8
int[,] arr8 = new int[4, 4];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
arr8[i, j] = rnd.Next(1, 20);
// а) поменять первый и предпоследний столбцы
for (int i = 0; i < 4; i++)
{
int temp = arr8[i, 0];
arr8[i, 0] = arr8[i, 2];
arr8[i, 2] = temp;
}
Console.WriteLine("8а) Первый и предпоследний столбцы поменяны");
// б) поменять вторую и последнюю строки
for (int j = 0; j < 4; j++)
{
int temp = arr8[1, j];
arr8[1, j] = arr8[3, j];
arr8[3, j] = temp;
}
Console.WriteLine("8б) Вторая и последняя строки поменяны");
// 9
int n9 = 4;
int[,] arr9 = new int[n9, n9];
for (int i = 0; i < n9; i++)
for (int j = 0; j < n9; j++)
arr9[i, j] = rnd.Next(-10, 10);
// а) отрицательные в одномерный массив
int negCount = 0;
for (int i = 0; i < n9; i++)
for (int j = 0; j < n9; j++)
if (arr9[i, j] < 0)
negCount++;
int[] negArr = new int[negCount];
int idx = 0;
for (int i = 0; i < n9; i++)
for (int j = 0; j < n9; j++)
if (arr9[i, j] < 0)
{
negArr[idx] = arr9[i, j];
idx++;
}
Console.Write("9а) Отрицательные: ");
for (int i = 0; i < negCount; i++)
Console.Write(negArr[i] + " ");
Console.WriteLine();
// б) чётные и нечётные в разные массивы
int evenCount = 0;
int oddCount = 0;
for (int i = 0; i < n9; i++)
for (int j = 0; j < n9; j++)
if (arr9[i, j] % 2 == 0)
evenCount++;
else
oddCount++;
int[] evenArr = new int[evenCount];
int[] oddArr = new int[oddCount];
int ei = 0;
int oi = 0;
for (int i = 0; i < n9; i++)
{
for (int j = 0; j < n9; j++)
{
if (arr9[i, j] % 2 == 0)
{
evenArr[ei] = arr9[i, j];
ei++;
} else
{
oddArr[oi] = arr9[i, j];
oi++;
}
}
}
Console.Write("9б) Чётные: ");
for (int i = 0; i < evenCount; i++)
Console.Write(evenArr[i] + " ");
Console.WriteLine();
Console.Write("9б) Нечётные: ");
for (int i = 0; i < oddCount; i++)
Console.Write(oddArr[i] + " ");
Console.WriteLine();
}
}