На даній сторінці ви зможете переглянути приклади програм, створених в середовищі C# в консольному режимі.
1. Практикум розвязування задач обробітку масивів
1. Задана дійсна матриця A розміру m×n. Створити лінійний масив В, k-тий елемент якого b[k] це: а) абсолютні величини елементів k-го рядка даної матриці A.
Дивитися програмний код
int[,] a = new int[3, 4] {{1,5,8,3},{-1,2,9,0},{-1,-2,4,6} };
int i,j;
Console.WriteLine("Дано масив A: ");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++) Console.Write("{0,6}",a[i, j]);
Console.WriteLine();
}
Console.WriteLine("введи номер рядка k ");
int k = int.Parse(Console.ReadLine());
//сума абсолютних величин елементів k-го рядка даної матриці
// заносимо в новий лінійний масив В
// масив В має стільки ж елементів, скільки їх в рядку масиву А, тобто 4
int[] B = new int[4];
for (i = 0; i < 4; i++) B[i] = Math.Abs(a[k-1, i]);
// виводимо створений масив В
Console.WriteLine("Створений масив B: ");
for (i = 0; i < 4; i++) Console.Write("{0,6}", B[i]);
Console.WriteLine();
2. Задана дійсна матриця A розміру m×n. Згенерувати довільний масив В, k-тий елемент якого b[k] це: добуток елементів k-го рядка даної матриці А.
Дивитися програмний код
Console.WriteLine("введи кiлькiсть рядiв масиву А - m");
int m = int.Parse(Console.ReadLine());
Console.WriteLine("введи кiлькiсть стовпцiв масиву А - n ");
int n = int.Parse(Console.ReadLine());
int[,] a = new int[m, n];
Random rand = new Random();
int i,j,d;
d = 1;
Console.WriteLine("Дано масив A: ");
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
a[i, j] = rand.Next(-5, 5);
Console.Write("{0,6}", a[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("введи номер рядка k, яким ми скористаємося ");
int k = int.Parse(Console.ReadLine());
k = k - 1;
for (j = 0; j < n; j++)
{
d=d* a[k, j];
}
Console.WriteLine("Добуток елементiв {0} рядка даногомасиву A - {1} ",k+1,d);
//добуток елементів k-го рядка заносимо в k-й елемент масиву В;
// решта елементів генеруємо випадковими числами
// масив В має n елементів, скільки їх в рядку масиву А
int[] B = new int[n];
for (i = 0; i < n; i++)
{
B[i] = rand.Next(10);
}
B[k] = d; Console.WriteLine(B[k]);
// виводимо створений масив В
Console.WriteLine("Створений масив B: ");
for (i = 0; i < n; i++) Console.Write("{0,8}", B[i]," ");
Console.WriteLine();
3. Задана дійсна матриця A розміру m×n. Згенерувати довільний масив В, k-тий елемент якого b[k] це: добуток квадратів тих елементів k-го рядка, модулі яких належать відрізку [1;2] (якщо таких елементів немає, то покласти b[k]=1).
Дивитися програмний код
Console.WriteLine("введи кiлькiсть рядiв масиву А - m ");
int m = int.Parse(Console.ReadLine());
Console.WriteLine("введи кiлькiсть стовпцiв масиву А - n ");
int n = int.Parse(Console.ReadLine());
int[,] a = new int[m, n];
Random rand = new Random();
int i,j,d;
d = 1;
Console.WriteLine("Дано масив A: ");
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
a[i,j] = rand.Next(-1, 4);
Console.Write("{0,6}", a[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("введи номер рядка k, яким ми скористаємося ");
int k = int.Parse(Console.ReadLine());
//всі елементи масиву В дорiвнюють 1, крiм k - го
int[] B = new int[n];
k = k - 1; for (j = 0; j < n; j++) B[j] = 1;
// перевіряємо умову
for (j = 0; j < n; j++)
{
if ((Math.Abs(a[k, j]) >= 1) && (Math.Abs(a[k, j]) <= 2))
{
d = d * a[k, j] * a[k, j];
}
}
B[k] = d;
Console.WriteLine("Добуток квадратiв елементiв {0} рядка масиву A,що належатьпромiжку [1;2]: {1} ",k+1,d);
// виводимо створений масив В
Console.WriteLine("Створений масив B: ");
for (i = 0; i < n; i++) Console.Write("{0,8}", B[i]," ");
Console.WriteLine();
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нeна матриця 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):
а) найменший елемент;
б) найбільший елемент;
в) суму елементів рядка, в якому розташований елемент з найменшим значенням;
г) суми найбільших значень елементів кожного її рядка;
д) переставити місцями рядки масиву, що містять елемент з найменшим значенням із рядком, в якому міститься елемент з найбільшим значенням.
Дивитися програмний код
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();
}}}