4. Задані натуральне число m, і цілочисельна квадратна матриця порядку m.

Рядок з номером і матриці назвемо відміченим, якщо хоч один елемент рядка додатній,  і невідміченим, якщо немає додатних елементів.
а) всі елементи, розташовані у відмічених рядках матриці, перетворити за правилом: додатні замінити на -1, від’ємні — на 1, а нульові залишити без зміни;
Console.WriteLine("введи порядок матрицi А - m ");
int m = int.Parse(Console.ReadLine());
int[,] a = new int[m, m];
Random rand = new Random();
int i, j;
int d = -1;
Console.WriteLine("Дано квадратна матриця A: ");
for (i = 0; i < m; i++)
 {
  for (j = 0; j < m; j++)
   {
    a[i, j] = rand.Next(-5, 2);
    Console.Write("{0,6}", a[i, j]);
    }
   Console.WriteLine();
    }
 // шукаємо відмічені рядки, де хоч один елемент додатній
 // у відміченому рядку робимо заміни
 //додатні замінити на -1, від’ємні — на 1, а нульові залишити без зміни
 for (i = 0; i < m; i++)
  {
  for (j = 0; j < m; j++)
    {
    if (a[i, j] > 0)
    {
      d = i;
    }
    }
   if (d == i)
    {
     for (j = 0; j < m; j++)
     {
     if (a[d, j] > 0) a[d, j] = -1;
         else
     {
     if (a[d, j] < 0) a[d, j] = 1;
    }    }    }    }
Console.WriteLine();
Console.WriteLine("Змiнана матриця A: ");
for (i = 0; i < m; i++)
 {
for (j = 0; j < m; j++)
  {
   Console.Write("{0,6}", a[i, j]);
  }
 Console.WriteLine();
}    

 

5. Заданий двовимірний масив, кількість рядків відповідає кількості учнів 1 групи (вважати номер рядка ідентифікатором певного учня), 0-й стовпець містить інформацію про зріст учня, 1-й стовпець містить дані про кількість виповнених років учня, 2-стовпець містить вагу учня, 3-й стовпець містить розмір взуття учня. Визначити (не враховуючи повторення):  

а) середній зріст учнів;

б) найвищого учня;

в) хто з учнів носить найбільший розмір взуття;

г) хто з учнів самий легкий;

д) визначити середній вік учнів, визначити;

е) скільки учнів мають вік, більший за середній;

є) у вантажному ліфті вирішили піднятися на 9 поверх всі учні нашої групи, чи зможуть вони це зробити, якщо ліфт має обмеження на вагу «до 400 кг»?

ж) Хто в класі найстарший?

// Масив К містить інформацю про 7 чнів класу
// 0-й стовпець містить інформацію про зріст учня,
//1-й стовпець містить дані про кількість виповнених років учня,
//2-стовпець містить вагу учня,
//3-й стовпець містить розмір взуття учня

//повтори не враховуємо;
int[,] k = new int[7, 4] { { 168, 16, 61, 42 }, { 175, 17, 59, 41 }, { 157, 16, 54, 37 }, { 161, 15, 52, 36 }, { 162, 17, 59, 38 }, { 155, 16, 54, 37 }, { 174, 17, 60, 40 } };
Console.WriteLine("База даних класу");
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 4; j++) Console.Write("{0,5}", k[i, j]);
Console.WriteLine();
}
Console.WriteLine();
//середній зріст учнів групи
int s = 0;
for (int i = 0; i < 7; i++)
s = s + k[i, 0];
Console.WriteLine("Cереднiй зрiст учнiв групи " + s / 7);
//найвищий учень
int max = 0;
int rist = 0;
for (int i = 0; i < 7; i++)
{
if (k[i, 0] > max)
{
max = k[i, 0];
rist = i;
}
}
Console.Write("Hайвищий учень " + (rist + 1));
Console.WriteLine(" Його зрiст " + max);
Console.WriteLine();
//хто з учнів носить найбільший розмір взуття
int maxv = 0;
int r = 0;
for (int i = 0; i < 7; i++)
{
if (k[i, 3] > maxv)
{
maxv = k[i, 3];
r = i;
}
}
Console.WriteLine("Hайбiльший розмiр взуття {0} носить {1} учень ", maxv, (r + 1));
Console.WriteLine();
// хто з учнів самий легкий
int min = 150;
int n = 0;
for (int i = 0; i < 7; i++)
{
if (k[i, 2] < min)
{
min = k[i, 2];
n = i;
}
}
Console.WriteLine("Hайлегший учень в нашiй групi {0}. Вiн важить {1} ", (n + 1), min);
Console.WriteLine();

// визначити середній вік учнів
int vik = 0;
int svik = 0;
for (int i = 0; i < 7; i++) vik = vik + k[i, 1];
svik = vik / 7;
Console.WriteLine("Середнiй вiк учнiв нашоi групи {0}. ", svik);
Console.WriteLine();
//визначити, скільки учнів мають вік, більший за середній
int ksv = 0;
for (int i = 0; i < 7; i++) if (k[i, 1] > svik) ksv = ksv + 1;
Console.WriteLine("Учнiв, вiк яких бiльший за середнiй {0}. ", ksv);
Console.WriteLine();
//у вантажному ліфті вирішили піднятися на 9 поверх всі учні нашої групи,
//чи зможуть вони це зробити, якщо ліфт має обмеження на вагу «до 400 кг»
int v = 0;
for (int i = 0; i < 7; i++) v = v + k[i, 2];
if (v < 400) Console.WriteLine("Всi учнi можуть пiднятися у лiфтi на 9 поверх ");
if (v > 400) Console.WriteLine("Всi учнi не можуть пiднятися у лiфтi на 9 поверх ");
Console.WriteLine();

//Хто в класі найстарший
int maxvik = 0;
int rv = 0;
for (int i = 0; i < 7; i++)
{
if (k[i, 1] > maxvik)
{
maxvik = k[i, 1];
rv = i;
}
}
Console.WriteLine("У класi найстарший {0} учень. Йому {1} рокiв ", (rv + 1), maxvik);
Console.WriteLine();
}
}
}

6. Визначити у матриці М(3*6):

а) найменший елемент;                                                                                                   

б) найбільший елемент;

в) суму елементів рядка, в якому розташований елемент з найменшим значенням;

г) суми найбільших значень елементів кожного її рядка;

д) переставити місцями рядки масиву, що містять елемент з найменшим значенням із рядком, в якому міститься елемент з найбільшим значенням.

//матриця М(3*6)
int[,] a = new int[3, 6] { { 12, 10, 15, 9,7,16 }, { 17,12,8,10,4,14 }, { 10,12,3,5,9,6 } };
Console.WriteLine("Дано масив А: ");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 6; j++) Console.Write("{0,5}", a[i, j]);
Console.WriteLine();
}
Console.WriteLine();
//найменший елемент;
int min = 100;
int m = -1;
int n = -1;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 6; j++)
{
if (a[i, j] < min)
{
min = a[i, j];
m = i;
n = j;
}}}
Console.WriteLine("найменший елемент A[{0},{1}]={2}",m,n,min);
Console.WriteLine();
//найбільший елемент;
int max = -100;
int m1 = -1;
int n1 = -1;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 6; j++)
{
if (a[i, j] >max)
{
max = a[i, j];
m1 = i;
n1 = j;
}}}

Console.WriteLine("найбiльший елемент A[{0},{1}]={2}", m1, n1, max);
Console.WriteLine();
// суму елементів рядка, в якому розташований елемент з найменшим значенням;
// це рядок m
int s=0;
for (int j = 0; j < 6; j++) s = s + a[m,j];
Console.WriteLine("cумa елементiв рядка {0}, в якому розташований елемент ", m);
Console.WriteLine("з найменшим значенням {1}: s={2}", m, min, s);
Console.WriteLine();
// суми найбільших значень елементів кожного її рядка
int sr = 0;
for (int i = 0; i < 3; i++)
{
int maxr = -100;
{
for (int j = 0; j < 6; j++)
{
if (a[i, j] > maxr) maxr = a[i, j];
}
sr = sr + maxr;
}
}
Console.WriteLine("сумa S найбiльших значень елементiв кожного рядка: "+sr);
Console.WriteLine();
// переставити місцями рядки масиву, що містять елемент з найменшим значенням із рядком,
//в якому міститься елемент з найбільшим значенням
// це рядки m i m1
int p = 0;
for (int j = 0; j < 6; j++)
{
p = a[m, j];
a[m, j] = a[m1, j];
a[m1, j] = p;
}
Console.WriteLine("Змiнений перестановками масив А: ");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 6; j++) Console.Write("{0,5}", a[i, j]);
Console.WriteLine();
}
Console.WriteLine();
}
}
}

7. Елемент масиву називається «особливим», якщо  він більший за суму інших елементів свого стовпчика.

Визначити «особливі» елементи масиву

//матриця М(3*5)
int[,] a = new int[3, 5] { { 35, 10, 5, 9,7}, { 7,12,8,45,4}, { 10,38,3,5,9} };
Console.WriteLine("Дано масив А: ");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 5; j++) Console.Write("{0,5}", a[i, j]);
Console.WriteLine();
}
Console.WriteLine();
// вияснимо, який елемент більший за суму інших елементів свого стовпчика
int m = -1;
int n = -1;
for (int j = 0; j < 5; j++)
{
int s = 0;
for (int i = 0; i < 3; i++)
{
s = s + a[i, j];
}
for (int i = 0; i < 3; i++)
{
if (a[i, j] > (s - a[i, j]))
{
m = i;
n = j;
Console.WriteLine("бiльший за суму решти елементiв стовпця елемент A[{0},{1}]={2}", m, n, a[m, n]);
}}}
Console.WriteLine();
}}}