Дана целочисленная квадратная матрица порядка n. найти номера строк: а) все элементы которых четны; б) в которых нет ни одного нулевого элемента. приравнять к нулю все элементы на главной и побочной диагоналях. (с++)
194
262
Ответы на вопрос:
#include < iostream> #include < time.h> #include < stdlib.h> using namespace std; int main() { setlocale(lc_all, "russian"); int n; bool notevenornulls = false; cout < < "n = "; cin > > n; int even, nulls; int **a = new int*[n]; for (int i = 0; i < n; i++) a[i] = new int[n]; //заполнение матрицы cout < < " *** исходный массив *** " < < endl; srand(time(null)); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { a[i][j] = rand() % 10; printf("%4d", a[i][j]); } printf("\n"); } //поиск номеров строк со всеми четными cout < < "№ строк со всеми четными = "; for (int i = 0; i < n; i++) { even = 0; for (int j = 0; j < n; j++) if (a[i][j] % 2 == 0) even++; if (even == n) { cout < < i + 1 < < " "; notevenornulls = true; } } if (notevenornulls == false) cout < < "таких строк нет"; cout < < endl; notevenornulls = false; //поиск номеров строк без нулей cout < < "№ строк без нулей = "; for (int i = 0; i < n; i++) { nulls = 0; for (int j = 0; j < n; j++) if (a[i][j] == 0) nulls++; if (nulls == 0) { cout < < i + 1 < < " "; notevenornulls = true; } } if (notevenornulls == false) cout < < "таких строк нет"; cout < < endl; //замена диагоналей на нули cout < < " *** измененный массив *** " < < endl; for (int i = 0; i < n; i++) { a[i][n - 1 - i] = 0; for (int j = 0; j < n; j++) if (i == j) a[i][j] = 0; } //вывод матрицы for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) printf("%4d", a[i][j]); printf("\n"); } system("pause"); return 0; }
Популярно: Информатика
-
nvede25.11.2021 12:45
-
xaetrmsmirnov07.06.2022 20:24
-
Bsusb30.04.2023 22:01
-
livadin310501.02.2022 21:15
-
YerasylAmangeldi08.10.2022 14:28
-
DanIEL98226.05.2022 00:10
-
elizavetamalik124.03.2021 16:49
-
Daniil6class24.07.2022 05:39
-
noragami200309.05.2022 05:46
-
DiMOn4iK2514.05.2021 13:36