Тема: Використання вкладених циклів в задачах обробки матриць
Добрий день, виникла проблема з завданням - "Дана дійсна матриця розмірності N x M. Знайти номери рядків всі елементи яких - нулі.". Не можу написати правильний код для знаходження рядків всі елементи яких нулі. Допоможіть.
#include <iostream>
using namespace std;
int main()
{
setlocale(0, "");
int Row,Col;
do {
cout << "Введіть кількість рядків : ";
cin >> Row;
if (Row < 2)
cout << "Введіть кількість більше ніж '1'\n";
} while (Row < 2);
do {
cout << "Введіть кількість стовпців : ";
cin >> Col;
if(Col<2)
cout << "Введіть кількість більше ніж '1'\n ";
} while (Col < 2);
int** matrix = new int* [Row];
for (int i = 0; i < Row; i++)
matrix[i] = new int[Col];
cout << "\n Заповніть матрицю: \n";
for (int i = 0; i < Row; i++) {
for (int j = 0; j < Col; j++)
cin >> matrix[i][j];
}
system("cls");
cout << endl;
//Вивід матриці на екран
for (int i = 0; i < Row; i++) {
for (int j = 0; j < Col; j++)
cout << matrix[i][j] << "\t";
cout << endl;
}
//Пошук номерів рядків всі елементи яких - нулі.
int x = 0; //Номер поточного стовпця
bool flag = 0; //перевірка на умову
int counter = 0;
cout << "Номери рядків все елементи яких - нулі.: \n";
while (x < Row) {
for (int i = 0; i < Row-1; i++) {
if (matrix[i][x] == 0)
counter++;
}
if (counter == Row-1-1) {
flag = 1;
cout<<x+1<<endl;
}
x++;
counter = 0;
}
if(flag==0)
cout << "Рядки всі елементи яких - нулі відсутні..\n";
//Очищення виділеної пам'яті для масиву
for (int i = 0; i < Row; i++)
delete matrix[i];
delete[] matrix;
cout << endl;
system("pause");
return 0;
}