Вопрос по информатике:
Дана целочисленная квадратная матрица порядка n. Найти номера строк:
а) все элементы которых четны;
б) в которых нет ни одного нулевого элемента.
Приравнять к нулю все элементы на главной и побочной диагоналях.
(С++)
- 14.04.2018 23:59
- Информатика
- remove_red_eye 10688
- thumb_up 39
Ответы и объяснения 1
#include
#include
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;
}
- 15.04.2018 14:47
- thumb_up 42
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.