Ім'я файлу: Лаб3.doc Розширення: doc Розмір: 33кб. Дата: 11.05.2021 скачати Пов'язані файли: проект хостел.doc У цілочисельній прямокутній матриці визначити: 1) кількість рядків, що не містять жодного нульового елементу; 2) максимальне з чисел, що зустрічаються в заданій матриці більше одного разу. #include using namespace std; void main() { system("CLS"); setlocale(LC_ALL, "Russian"); int n, m, i, j; int x; // к-сть нульових елементів у рядку int kol = 0; // к-сть рядків, що не містять нульових елементів cout << "Введiть розмiрнiсть матрицi m*n:" << endl; cout << "m = "; cin >> m; cout << "n = "; cin >> n; int **mat = new int*[m]; for (int i = 0; i < m; i++) mat[i] = new int [n]; // для кожного елемента динамічного масиву mat створюємо ще по n елементів типу int // в результаті отримуємо двовимірний масив - матрицю cout << "Введiть цiлi числа - елементи матрицi М(" << m << "*" << n << "):" << endl; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { cout << "М(" << i + 1 << ", " << j + 1 << ") = "; cin >> mat[i][j]; } } // #1 for (i = 0; i < m; i++) { x = 0; for (j = 0; j < n; j++) { if (mat[i][j] == 0) x++; // обчислюємо к-сть нульових елементів у кожному рядку } if (x == 0) kol++; // обчислюємо к-сть рядків, які не містять нульових елементів } cout << kol << " рядки(-iв) матрицi не мiстять жодного нульового елемента." << endl; // #2 int max, k, l, s = 0; int *r = new int; bool has = false; *r = m*n; int *b = new int[*r]; for (i = 0; i < m; i++) // цикл, який послідовно порівнює кожний елемент матриці з іншими елементами { for (j = 0; j < n; j++) { for (k = 0; k < m; k++) { for (l = 0; l < n; l++) { if (mat[i][j] == mat[k][l] && (i != k || j != l)) // в другій частині умови виключаємо елементи з однаковими індексами { b[s] = mat[i][j]; // вміщуємо знайдений повторюваний елемент в масив b s++; has = true; // позначаємо, що в матриці присутні повторювані елементи break; // припиняємо шукати однакові елементи й переходимо до наступного } } } } } max = b[0]; for (i = 0; i < s; i++) { if (b[i + 1] > max) max = b[i + 1]; } if (has) cout << "Максимальне число, що зустрiчається в матрицi бiльше 1-го разу, = " << max << "." << endl; else cout << "Повторюванi елементи у матрицi вiдсутнi." << endl; getchar(); } |