Другие языки программирования и технологии

Помогите пожалуйста решить двумерный массив на С++

Дана матрица 5х10. Вывести номер первого столбца, содержащего только положительные элементы. Если таких столбцов нет, то вывести 0.
#include <iostream>
#include <random>
#include <iomanip>
using namespace std;
int randomize(int a, int b);
void fill(int* v, int s, int f = -10, int l = 40);
int main() {
const int rw = 5, cl = 10;
int mx[rw][cl];
for (int r = 0; r != rw; ++r) fill(mx[r], cl);
cout << endl;
for (int r = 0; r != rw; ++r, cout << '\n') for (int c = 0; c != cl; ++c) cout << setw(4) << mx[r][c];
int idx = -1;
bool flag;
for (int c = 0; c != cl; ++c) {
flag = true;
for (int r = 0; r != rw; ++r) {
if (mx[r][c] < 0) {
flag = false;
break;
}
}
if (flag) {
idx = c;
break;
}
}
if (idx != -1) cout << "\n Index column: " << idx << endl;
else cout << "\n Not found!\n";
cout << endl;
cin.get();
}
void fill(int* v, int s, int f, int l) {
int* b;
int* e = v + s;
for (b = v; b != e; ++b) *b = randomize(f, l);
}
int randomize(int a, int b) {
if (a > b) swap(a, b);
uniform_int_distribution<int> rand(a, b);
random_device rnd;
return rand(rnd);
}
Дмитрий Галушкин
Дмитрий Галушкин
68 742
Лучший ответ