На даній сторінці ви зможете переглянути приклади програм, створених в середовищі 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();

}}}