C/C++

Написать фрагмент кода, где формируется двумерный массив, элементы которого могут быть тру и фолс

Написать фрагмент кода, где формируется двумерный массив, элементы которого могут быть тру и фолс
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
srand(time(0));
const int N = 3, M = 5;
bool A[N][M];
for(int i = 0; i < N; i++)
for(int j = 0; j < M; j++)
A[i][j] = rand() % 2;

/*for(int i = 0; i < N; i++)
{
for(int j = 0; j < M; j++)
cout << A[i][j] << " ";
cout << endl;
} cout << endl;*/

/*cout << "Press Enter key for continue...";
cin.get(); //cin.get();*/
return 0;
}
Сергей Савинков
Сергей Савинков
11 953
Лучший ответ
Руслан Альжанов https://ru.cppreference.com/w/cpp/numeric/random/rand
А вот полный исходник с динамическим массивом, элементы которого принимают значения true, если номера строки и столбца взаимно простые числа, и false, eсли наоборот. На скрине визуализация этого массива:
#include <iostream>
#include <iomanip>
using namespace std;
unsigned long e(unsigned long a, unsigned long b)
{
unsigned long c = a % b;
return (c == 0) ? b : e(b, c);
}
bool f(unsigned long a, unsigned long b)
{
return (e(a, b) == 1) ? true : false;
}
int main()
{
unsigned long i, j, n;
cout << "n » ";
cin >> n;
bool **p = new bool *[n];
for (i = 0; i < n; i++) p[i] = new bool [n];
for (i = 0; i < n; i++) for (j = 0; j < n; j++)
p[i][j] = f(i + 1, j + 1);
for (i = 0; i < n; i++)
{
cout << setw(3) << i + 1 << " ";
for (j = 0; j < n; j++) cout << (p[i][j] ? '*' : ' ');
cout << endl;
}
system("pause > nul");
return 0;
}