Даний двовимірний масив. Приклади розв'язання задач із двовимірними масивами, завдання для самостійного розв'язання. Цілепокладання, постановка завдань

Головна / Захист

Лабораторна робота для шкіл та вузів щодо вирішення завдань з обробки двовимірних масивів мовою C (Сі). Перелік завдань лабораторної роботи (клік за посиланням спрямовує на розв'язання задачі, якщо є):

Додаткові завдання:

Працездатність всіх програм перевірена у CodeBlocks 16.01 (MinGW, Windows 10). Свої рішення невирішених програм та побажання щодо покращення існуючих можете давати у коментарях внизу сторінки.

Завантажити файл лабораторної та всі вихідні коди програм в архіві:


Також ви можете замовити рішення своїх лабораторних робітмовою C++ та багатьох інших:

№1: Даний двовимірний масив. Знайти мінімальну суму елементів рядка. Завдання вирішити без використання додаткового одновимірного масиву.

#include #include #include int main() ( int *arr; int x, y, i, j, sum = 0, min = 0, minstr = 0; srand(time(NULL)); x = 2 + rand() % 10; y = 2 + rand() % 6; arr = (int*)malloc(x*y*sizeof(int)); i

№2: Визначити координати елемента, найближчого до середнього значення всіх елементів масиву.

#include #include #include #include int main() ( int *arr; int x, y, i, j, minx = 0, miny = 0; float ssum = 0; srand(time(NULL)); x = 1 + rand() % 10; y = 1 + rand() % 7; arr = (int*)malloc(x*y*sizeof(int)); ;i

№9: Даний двовимірний масив із парного числа стовпців. Стовпці лівої половини масиву поміняти місцями зі стовпцями правої половини.

#include #include #include int main() ( int *arr; int x, y, i, j, d; srand(time(NULL)); x = 1 + rand() % 10; y = 2 * (1 + rand() % 3 ), arr = (int*)malloc(x*y*sizeof(int));printf("Array %d x %d: \n", x, y);

№14: Для кожного рядка двовимірного масиву з'ясувати кількість елементів, остання цифра яких дорівнює а.

#include #include #include int main() ( int *arr; int x, y, i, j, a, count; srand(time(NULL)); printf("Enter a: "); scanf("%d", &a); x = 1 + rand() % 10; y = 1 + rand() % 7; arr = (int*)malloc(x*y*sizeof(int)); x, y), for (i = 0; i

№21: Даний двовимірний масив b. Розглядаючи його як матрицю, транспонувати b.

#include #include #include int main() ( int *arr, *arrT, x, y, i, j; srand(time(NULL)); x = 1 + rand() % 7; y = 1 + rand() % 7; arr = (int*)malloc(x*y*sizeof(int));printf("Matrix %d x %d: \n", x, y); for (i = 0; i

№1 (Доп): Даний двовимірний масив. Упорядкувати його рядки щодо невтрати їх перших елементів.

#include #include #include int main() ( int *arr, x, y, i, j, k, d, max = 0; srand(time(NULL)); x = 1 + rand() % 10; y = 1 + rand() % 7; arr = (int *) malloc (x * y * sizeof (int)); max * y)) max = j, for (k = 0; k

№2 (Доп): Визначити, чи задана квадратна матриця ортонормованої, тобто. такий, у якій скалярний добуток кожної пари різних рядків дорівнює 0, а скалярний добуток кожної рядки на себе дорівнює 1.

#include #include int main() ( int *arr; int x, i, j, k, sum = 0; printf("Enter size of the square matrix: "); scanf("%d", &x); arr = (int *)malloc(x*x*sizeof(int));

№3 (Доп): Даний квадратний двовимірний масив. Знайти суму елементів кожної його діагоналі, паралельної до побічної.

#include #include #include int main() ( int *arr; int x, y, i, j, sum; srand(time(NULL)); x = 2 + rand() % 6; arr = (int*)malloc(x*y*) sizeof(int));printf("Array %d x %d: \n", x, x); for (i = 0; i

Підійшла чергова порція завдань з інформатики для школярів. Цього разу розглянемо роботу з двовимірними масивами C++. Ці завдання досить цікаві. І більшість їх мені сподобалася.

Завдання №1

Знайдіть індекси першого входження максимального елемента.
Формат вхідних даних
Програма отримує на вхід розміри масиву n і m, потім рядків n рядків по m чисел в кожній. n та m не перевищують 100.
Формат вихідних даних
Виведіть два числа: номер рядка та номер стовпця, у яких стоїть найбільший елемент у двовимірному масиві. Якщо таких елементів кілька, то виводиться той, у якого менший номер рядка, а якщо номери рядків рівні, той, у якого менший номер стовпця.

Sample Input: 3 4 0 3 2 4 2 3 5 5 5 1 2 3 Sample Output: 1 2

#include using namespace std; int main() ( int n, m; cin >> n >> m; int a; // читання for (int i = 0; i< n; i++) { for (int j = 0; j < m; j++) { cin >> a[i][j]; ) ) int max = a, max_i = 0, max_j = 0; for (int i = 0; i< n; i++) { for (int j = 0; j < m; j++) { if (a[i][j] >max) ( max = a [i] [j]; max_i = i; max_j = j; ) ) ) cout<< max_i << " " << max_j; return 0; }

Завдання №2

Дано непарне число n, що не перевищує 15. Створіть двовимірний масив із n×n елементів, заповнивши його символами "." (Кожен елемент масиву є рядком з одного символу). Потім заповніть символами "*" середній рядок масиву, середній стовпець масиву, головну діагональ та побічну діагональ. В результаті "*" у масиві повинні утворювати зображення зірочки. Виведіть отриманий масив на екран, розділяючи елементи масиву пробілами.

Sample Input: 5 Sample Output: * . * . * . * * * . * * * * * . * * * . * . * . *

#include using namespace std; int main() ( int n; cin >>< n; i++) { for (int j = 0; j < n; j++) { if (i == j || i == n - 1 - j || i == n / 2 || j == n / 2) a[i][j] = 1; else a[i][j] = 0; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (a[i][j] == 0) cout << "." << " "; else cout << "*" << " "; } cout << endl; } return 0; }

Завдання №3

Дано число n, що не перевищує 100. Створіть масив розміром n×n та заповніть його за таким правилом. На головній діагоналі мають бути записані числа 0. На двох діагоналях, що прилягають до головної, числа 1. На наступних двох діагоналях числа 2 і т.д.

Sample Input: 5 Sample Output: 0 1 2 3 4 1 0 1 2 3 2 1 0 1 2 3 2 1 0 1 4 3 2 1 0

#include #include using namespace std; int main() ( int n; cin >> n; int a; // обробка for (int i = 0; i< n; i++) { for (int j = 0; j < n; j++) { a[i][j] = (int) abs(i - j); } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << a[i][j] << " "; } cout << endl; } return 0; }

Завдання №4

Даний двовимірний масив та два числа: i та j. Поміняйте у масиві стовпці з номерами i та j.
Формат вхідних даних
Програма отримує на вхід розміри масиву n і m, що не перевищують 100, потім елементи масиву, потім числа i і j.
Формат вихідних даних
Виведіть результат.

Sample Input: 0 1 Sample Output: 12 11 13 14 22 21 23 24 32 31 33 34

#include #include using namespace std; int main() ( int n, m, x, y, temp; cin >> n >>< n; i++) { for (int j = 0; j < m; j++) { cin >> a[i][j]; ) ) cin >> x >> y; // Обробка for (int i = 0; i< n; i++) { temp = a[i][x]; a[i][x] = a[i][y]; a[i][y] = temp; } // вывод for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout << a[i][j] << " "; } cout << endl; } return 0; }

Завдання №5

Дано число n, що не перевищує 10, і масив розміром n × n. Перевірте, чи цей масив є симетричним щодо головної діагоналі. Виведіть слово "YES", якщо масив симетричний, і слово "NO" в іншому випадку.

Sample Input: 3 0 1 2 1 2 3 2 3 4 Sample Output: YES

#include #include using namespace std; int main() ( int n; bool symmetric; cin >> n; int a; // заповнення for (int i = 0; i< n; i++) { for (int j = 0; j < n; j++) { cin >> a[i][j]; ) ) // обробка symmetric = true; for (int i = 0; i< n; i++) { for (int j = 0; j < n; j++) { if (a[i][j] != a[j][i]) symmetric = false; } } // вывод if (symmetric) cout << "YES"; else cout << "NO"; return 0; }

Завдання №6

Дано квадратний двовимірний масив розміром n × n та число k. Виведіть елементи k-ї за рахунком діагоналі нижче головної діагоналі (тобто якщо k = 1, то потрібно вивести елементи першої діагоналі, що лежить нижче за головну, якщо k = 2, то другий діагоналі і т.д.).
Значення k може бути негативним, наприклад, якщо k = −1, то потрібно вивести значення першої діагоналі, що лежить вище головної. Якщо k = 0, потрібно вивести елементи головної діагоналі.
Програма отримує на вхід число n, що не перевищують 10, потім масив розміром n × n, потім k.

Sample Input 1: 4 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 1 Sample Output 1: 5 1 6 Sample Input 2: 4 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 -2 Sample Output 2: 3 8

#include using namespace std; int main() ( int n, k; cin >> n; int a[n][n]; // заповнення for (int i = 0; i< n; i++) { for (int j = 0; j < n; j++) { cin >> a[i][j]; ) ) cin >> k; // обробка та виведення for (int i = 0; i< n; i++) { for (int j = 0; j < n; j++) { if (i - j - k == 0) cout << a[i][j] << " "; } } return 0; }

Завдання №7

Даний двовимірний масив розміром n×m (n та m не перевищують 1000). Симетричний йому щодо головної діагоналі масив називається транспонованим до цього. Він має розміри m×n: рядки вихідного масиву стають стовпцями транспонованого, стовпці вихідного масиву стають рядками транспонованого.
Для цього масиву побудуйте транспонований масив та виведіть його на екран.

Sample Input: 3 4 11 12 13 14 21 22 23 24 31 32 33 34 Sample Output: 11 21 31 12 22 32 13 23 33 14 24 34

#include using namespace std; int main() ( int n, m, x, y, temp; cin >> n >>< n; i++) { for (int j = 0; j < m; j++) { cin >> < n; i++) { for (int j = 0; j < m; j++) { b[j][i] = a[i][j]; } } // вывод for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { cout << b[i][j] << " "; } cout << endl; } return 0; }

Завдання №8

У кінотеатрі n рядів по m місць у кожному (n і m не перевищують 20). У двовимірному масиві зберігається інформація про продані квитки, число 1 означає, що квиток на дане місце вже продано, число 0 означає, що місце вільне. Надійшов запит на продаж квитків на сусідні місця в одному ряду. Визначте, чи можна виконати запит.
Формат вхідних даних
Програма отримує вхід числа n і m. Далі йде n рядків, що містять m чисел (0 або 1), розділених пробілами. Потім надано число k.
Формат вихідних даних
Програма має вивести номер ряду, в якому є k поспіль вільних місць, що йдуть. Якщо таких рядів кілька, виведіть номер найменшого відповідного ряду. Якщо потрібного ряду немає, виведіть число 0.

Sample Input: 3 4 0 1 0 1 1 0 0 1 1 1 1 1 2 Sample Output: 2

#include using namespace std; int main() ( int n, m, k, r = 0; cin >> n >> m; int a [n] [m]; // заповнення for (int i = 0; i< n; i++) { for (int j = 0; j < m; j++) { cin >> a[i][j]; ) ) cin >> k; // Обробка for (int i = 0; i< n; i++) { int near_free = 0; for (int j = 0; j < m; j++) { if (a[i][j] == 0) { near_free++; if (near_free == k) { r = i + 1; break; } } else near_free = 0; } if (near_free == k) break; } // вывод cout << r; return 0; }

Завдання №9

Дано прямокутний масив розміром n×m. Поверніть його на 90 градусів за годинниковою стрілкою, записавши результат у новий масив розміром m×n.
Формат вхідних даних
Вводяться два числа n і m, що не перевищують 100, потім масив розміром n×m.
Формат вихідних даних
Виведіть масив, що вийшов. Числа під час виведення розділяйте одним пропуском.

Sample Input: 3 4 11 12 13 14 21 22 23 24 31 32 33 34 Sample Output: 31 21 11 32 22 12 33 23 13 34 24 14

#include using namespace std; int main() ( int n, m; cin >> n >> m; int a[n][m]; int b[m][n]; // заповнення for (int i = 0; i< n; i++) { for (int j = 0; j < m; j++) { cin >> a[i][j]; ) ) // обробка for (int i = 0; i< n; i++) { for (int j = 0; j < m; j++) { b[j] = a[i][j]; } } // вывод for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { cout << b[i][j] << " "; } cout << endl; } return 0; }

Завдання №10

За даними числами n і m заповніть двовимірний масив розміром n×m числами від 1 до n×m “змійкою”, як показано у прикладі.
Формат вхідних даних
Вводяться два числа n та m, кожне з яких не перевищує 20.
Формат вихідних даних

Sample Input: 3 5 Sample Output: 1 2 3 4 5 10 9 8 7 6 11 12 13 14 15

#include using namespace std; int main() ( int n, m, c = 0; cin >> n >> m; int a [n] [m]; // обробка for (int i = 0; i< n; i++) { for (int j = 0; j < m; j++) { c++; if (i%2 == 0) a[i][j] = c; else a[i] = c; } } // вывод for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (a[i][j] % 10 == a[i][j]) cout << " "; else if (a[i][j] % 100 == a[i][j]) cout << " "; else if (a[i][j] % 1000 == a[i][j]) cout << " "; cout << a[i][j]; } cout << endl; } return 0; }

Завдання №11

За даними числами n і m заповніть двовимірний масив розміром n×m числами від 1 до n×m “діагоналями”, як показано у прикладі.
Формат вхідних даних

Формат вихідних даних
Виведіть отриманий масив, відводячи на виведення кожного елемента рівно 4 символи.

Sample Input: 3 5 Sample Output: 1 2 4 7 10 3 5 8 11 13 6 9 12 14 15

#include using namespace std; int main() ( int n, m, pos = 0, row = 0; cin >> n >> m; int a [n] [m]; // обробка int start_row = 0; int number = 1; for ( int min_row = 0; min_row< n; min_row++) { if (min_row >0) start_row = pos - 1; else start_row = 0; for (pos = start_row; pos< m; pos++) { row = min_row; for (int col = pos; col >= 0; col--) ( if (row< n) { a = number; number++; row++; } else break; } } } // вывод for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (a[i][j] % 10 == a[i][j]) cout << " "; else if (a[i][j] % 100 == a[i][j]) cout << " "; else if (a[i][j] % 1000 == a[i][j]) cout << " "; cout << a[i][j]; } cout << endl; } return 0; }

Завдання №12

Дано числа n і m. Заповніть масив розміром n × m у шаховому порядку: клітини одного кольору заповнені нулями, а іншого кольору – заповнені числами натурального ряду зверху донизу, зліва направо. У верхньому лівому кутку записано число 1.
Формат вхідних даних
Вводяться два числа n і m, що не перевищують 100.
Формат вихідних даних
Виведіть отриманий масив, відводячи на виведення кожного елемента рівно 4 символи.

Sample Input: 3 5 Sample Output: 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8

#include using namespace std; int main() ( int n, m, sm; cin >> n >> m; int a [n] [m]; // обробка int number = 1; for (int i = 0; i< n; i++) { for (int j = 0; j < m; j++) { a[i][j] = 0; } } for (int i = 0; i < n; i++) { if (i % 2 == 1) sm = 1; else sm = 0; for (int j = sm; j < m; j++) { a[i][j] = number; number++; j++; } } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (a[i][j] % 10 == a[i][j]) cout << " "; else if (a[i][j] % 100 == a[i][j]) cout << " "; else if (a[i][j] % 1000 == a[i][j]) cout << " "; cout << a[i][j]; } cout << endl; } return 0; }

Завдання №13

За даними числами n і m заповніть двовимірний масив розміром n×m числами від 1 до n×m по спіралі, що виходить із лівого верхнього кута і закрученої за годинниковою стрілкою, як показано в прикладі.
Формат вхідних даних
Вводяться два числа n і m, що не перевищують 100.
Формат вихідних даних
Виведіть отриманий масив, відводячи на виведення кожного елемента рівно 4 символи.

Sample Input: 4 5 Sample Output: 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8

#include using namespace std; int main() ( int n, m; cin >> n >> m; int a; for (int i = 0; i<= n + 1; i++) { for (int j = 0; j <= m + 1; j++) { a[i][j] = -1; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { a[i][j] = 0; } } int num = 0, row = 1, col = 0; while (num < n * m) { while (a == 0) { col++; num++; a = num; } while (a == 0) { row++; num++; a = num; } while (a == 0) { col--; num++; a = num; } while (a == 0) { row--; num++; a = num; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (a[i][j] % 10 == a[i][j]) cout << " "; else if (a[i][j] % 100 == a[i][j]) cout << " "; else if (a[i][j] % 1000 == a[i][j]) cout << " "; cout << a[i][j]; } cout << endl; } return 0; }

0 0

Please enable JavaScript to view the

Приклад 3

Даний цілий двовимірний масив, розмірності n х m,знайти найменший елемент масиву та номер рядка, в якому він знаходиться.

Блок-схема:
Програмний код:
Var a: array of integer;
i, j, m, n, min, k: integer;
Begin
Write(' скільки рядків ?'); Readln(n);
Write(' скільки стовпців ?'); Readln(m);
For i:=1 to n do
For j:=1 to m do
begin
write('a[',i,',',j,']='); readln (a); (Введення двовимірного масиву)
end;
min:=a; (Мінімальний елемент)
k:=1; (номер рядка)
For i:=1 to n do
For j:=1 to m do
If a< min then
begin
min:=a; k:=i; (Пошук мінімального та "запам'ятовування" номера рядка)
end;
Writeln('найменше число ',min,' знаходиться в ', k, 'рядку');
End.

Завдання

  1. . Знайти суму та добуток всіх елементів масиву.
  2. Дано цілісний двовимірний масив, розмірності n х m. Знайти суму та добуток парних елементів.
  3. Дано цілісний двовимірний масив, розмірності n х m. Знайти суму та добуток елементів, кратних 3 та 5.
  4. Дано цілісний двовимірний масив, розмірності n х m. Знайти кількість негативних елементів більше -9.
  5. Дано цілісний двовимірний масив, розмірності n х m.
  6. Дано цілісний двовимірний масив, розмірності n х m
  7. Дано цілісний двовимірний масив, розмірності n х m
  8. Дано цілісний двовимірний масив, розмірності n х m. Знайти середнє арифметичне всіх елементів масиву.
  9. Дано цілісний двовимірний масив, розмірності n х m. З'ясувати, скільки зустрічається у якому рядку раніше - позитивне чи негативне.
  10. Дано цілісний двовимірний масив, розмірності n х m. З'ясувати, у якому рядку послідовність є зростаючою чи спадною.
  11. Дано цілісний двовимірний масив, розмірності n х m. Вивестийого елементи, індекси яких є ступенями двійки (1, 2, 4, 8, 16, ...).
  12. Дано цілісний двовимірний масив, розмірності n х m. Знайти кількість кратних елементів 7.
  13. Дано цілісний двовимірний масив, розмірності n х m. Вивести на екран елементи, які є квадратами якогось числа.
  14. Дано цілісний двовимірний масив, розмірності n х m. Знайти номери непарних елементів, що стоять на парних місцях.
  15. Дано цілісний двовимірний масив, розмірності n х m. Знайти максимум та мінімум. Поміняти їх місцями.
  16. Дано цілісний двовимірний масив, розмірності n х m. Замінити всі елементи на свої квадрати.
  17. Дано цілісний двовимірний масив, розмірності n х m. Замінити всі елементи на протилежні значення.
  18. Дано цілісний двовимірний масив, розмірності n х m. Поміняти місцями перший та останній елементи.
  19. Дано цілісний двовимірний масив, розмірності n х m. Сформувати новий масив, що з протилежних відповідних елементів.
  20. Дано цілісний двовимірний масив, розмірності n х m. Вивести на екран ті елементи, у яких залишок від поділу на m дорівнює k.
  21. Запроваджуються результати контрольної роботи 10 учнів. Визначте число незадовільних, задовільних, добрих, відмінних оцінок. Вивести середню оцінку, одержану учнями за контрольну роботу.
  22. Ввести оцінки N учнів з K предметів. Визначити та вивести на екран кількість учнів, які не отримали жодної "5".
  23. У групі навчається N студентів, студенти отримали по чотири позначки за іспит. Визначити кількість неуспішних студентів та середній бал групи.
  24. Дано цілісний двовимірний масив, розмірності n х m. Обчислити суму чисел, порядкові номери яких є числами фібоначчі.
  25. Дано цілісний двовимірний масив, розмірності n х m. Скласти відповідні елементи.

Даний двовимірний масив 5х5. Організувати введення елементів, виведення результату як вікон. Змінити після паузи колір вікон, де зберігаються задані відповідно до умови елементи.

Варіанти завдань:

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11. Знайти добуток елементів, які знаходяться вище за головну діагональ. Замінити знайденим числом усі непарні елементи.

12. Знайти суму елементів, що знаходяться на непарних позиціях (сума індексів (i+j) для Х ij – непарне число). Замінити знайденим числом усі негативні елементи.

13. Знайти добуток всіх елементів, що знаходяться на головній діагоналі. Замінити знайденим числом усі елементи п'ятого рядка та другого стовпця.

14. Знайти середнє арифметичне елементів на головній діагоналі та середнє арифметичне на побічній. Змінити місцями елементи на діагоналях.

15. Знайти середнє арифметичне позитивних елементів, які знаходяться вище головної діагоналі. Замінити знайденим числом усі негативні елементи.

16. Знайти суму непарних елементів. Замінити знайденим числом всі елементи, які знаходяться вище від побічної діагоналі.

17. Знайти добуток елементів i-рядка та j-стовпчика (i, j- попередньо вводити з клавіатури). Замінити знайденим числом всі елементи нижче від побічної діагоналі.

18. Знайти добуток елементів, що знаходяться на парних позиціях (сума індексів (i+j) для Х ij – непарне число). Замінити знайденим числом всі елементи головної діагоналі.

19. Знайти середнє арифметичне непарних елементів. Замінити знайденим числом усі елементи побічної діагоналі.

20. Знайти суму всіх парних елементів, які перебувають вище побічної діагоналі. Замінити знайденим числом усі елементи четвертого рядка.

21. Знайти добуток елементів, які знаходяться вище за головну діагональ. Замінити знайденим числом усі непарні елементи.

22. Знайти суму елементів, що знаходяться на непарних позиціях (сума індексів (i+j) для Х ij – непарне число). Замінити знайденим числом усі негативні елементи.

23. Знайти добуток всіх елементів, що знаходяться на головній діагоналі. Замінити знайденим числом усі елементи п'ятого рядка та другого стовпця.

24. Знайти середнє арифметичне елементів на головній діагоналі та середнє арифметичне на побічній. Змінити місцями елементи на діагоналях.

25. Знайти середнє арифметичне позитивних елементів, які знаходяться вище головної діагоналі. Замінити знайденим числом усі негативні елементи.

Наприклад: Знайти середнє арифметичне елементів на головній діагоналі

Після паузи:

Контрольні питання

1. Що таке текстовий режим і чим він відрізняється від звичайного?

2. Що таке вікно?

3. Як перемістити курсор у задані координати вікна?

4. Як змінити колір шрифту/фону?

Вступ

Сучасні технічні пристрої, призначені для управління та автоматизації, широко використовують двійкові схеми та двійкову систему числення. Для аналізу та синтезу комбінаційних та послідовних перемикальних схем застосовується теорія алгебри логіки.

Матеріал лекцій викладено у трьох розділах. У першому розділі даються основні поняття теорії алгебри логіки, розглядаються різні форми уявлення булевих функцій. Другий розділ присвячений питанням мінімізації уявлень булевих функцій, що є основою абстрактного синтезу дискретних пристроїв. Третій розділ містить відомості про способи реалізації булевих функцій на основі перемикальних схем, що є основою структурного синтезу дискретних пристроїв.

При написанні конспекту лекцій використовувалася така література: розділ 1.1 – ; для розділу 1.2 -; для розділу 1.3 -; для розділу 2.1 -; для розділу 2.2 -; для розділів 3.1, 3.2 – .

Завдання по двовимірним масивам

1) Даний двовимірний масив цілих чисел. Скласти програму:

а) виведення на екран елемента, розташованого у правому верхньому куті масиву;

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

в) виведення на екран будь-якого елемента другого рядка масиву;

г) виведення на екран будь-якого елемента третього стовпця масиву;

д) виведення на екран будь-якого елемента масиву.

2) Даний двовимірний цілісний масив. Поміняти місцями:

а) елементи, розташовані у верхньому правому та нижньому лівому кутах;

б) елементи, розташовані в нижньому правому та верхньому лівому кутах;

3) Відомий номер рядка, де розташований елемент головної діагоналі двовимірного масиву цілих чисел. Вивести на екран значення цього елемента.

4) Вивести на екран (в один рядок):

а) усі елементи головної діагоналі масиву

б) всі елементи головної діагоналі масиву, починаючи з елемента, розташованого в нижньому правому кутку.

5) Замінити значення всіх елементів головної діагоналі цілого масиву на нульові.

6) Замінити значення всіх елементів побічної діагоналі цілого масиву на значення, рівні 100.

7) Визначити:

а) суму елементів головної діагоналі масиву;

б) суму елементів побічної діагоналі масиву;

в) середнє арифметичне елементів головної діагоналі масиву;

г) середнє арифметичне елементів побічної діагоналі масиву;

д) мінімальний (максимальний) елемент головної діагоналі масиву;

е) максимальний (мінімальний) елемент побічної діагоналі речовинного масиву;

ж) координати першого максимального елемента головної діагоналі;

з) координати першого мінімального елемента головної діагоналі.

а) вивести на екран усі елементи п'ятого рядка масиву;

б) вивести на екран усі елементи третього рядка масиву, починаючи з останнього елемента цього рядка;

в) вивести на екран усі елементи s-го стовпця масиву;

г) замінити значення всіх елементів другого рядка масиву на число 5;

д) замінити значення всіх елементів п'ятого стовпця на число 10.

е) визначити максимальний (мінімальний) елемент третього стовпця;

9) Дано двомірний масив цілих чисел. Скласти програму:

а) розрахунку добутку двох будь-яких елементів будь-якого рядка масиву

б) суму всіх елементів будь-якого рядка масиву;

10) Даний двовимірний масив цілих чисел. Визначити:

а) а) у якому стовпці масиву сума елементів менша, у першому або в останньому;

б) б) у якому рядку добуток елементів більший, у другому чи третьому.

11) Даний двовимірний цілий масив розміром 10 х 10. Вивести на екран частину масиву:

а) розташовану вище за головну діагональ;



б) розташовану нижче за головну діагональ;

в) розташовану вище побічної діагоналі;

г) розташовану нижче від побічної діагоналі;

12) Даний двовимірний масив цілих чисел:

а) у кожному його стовпці знайти максимальний (мінімальний) елемент;

б) координати максимального (мінімального) елемента;

в) суму непарних елементів у кожному стовпці (рядку);

г) кількість елементів кратних А чи Ст.

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

е) знайти стовпець із мінімальною сумою елементів.

© 2022 androidas.ru - Все про Android