C/C++

Заполнить 2D массив случайными числами

Так, чтобы в чётных столбцах находились чётные числа, а в нечётных нечётные. Массив 10х10. Помогите с кодом, пожалуйста. В интернете нет.
Nikita Khan
Nikita Khan
117
#include <iostream>
#include <iomanip>
#include <random>
using namespace std;
int main() {
uniform_int_distribution<> uid(5, 49);
mt19937 gen{ random_device()() };
auto odd = [&] { return (uid(gen) << 1) + 1; };
auto even = [&] { return uid(gen) << 1; };
const auto n = 10U;
int mx[n][n];
for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < n; ++j) {
mx[i][j] = j & 1? even() : odd();
cout << setw(4U) << mx[i][j];
}
puts("\n");
}
system("pause > nul");
}
Александр Шлапаков
Александр Шлапаков
59 933
Лучший ответ
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
const int n = 10;
int A[n][n];
srand(time(NULL));
for(int x = 0; x < n; x++)
{
for(int y = 0; y < n; y++)
{
if(y % 2 == 0)
{
do
{
A[x][y] = rand() % 9 + 1;
} while(A[x][y] % 2 == 0);
}
else
{
do
{
A[x][y] = rand() % 9 + 1;
} while(A[x][y] % 2);
}
printf("%d ", A[x][y]);
}
printf("\n");
}

return 0;
}
Nikita Khan Вау, работает идеально, спасибо огромное. За это время успел накидать свои недокод, но он работал задом наперед и печать четное в нечётных и нечётное в чётных. Так и не понял почему ????
//на коленке написал ))
#include
using namespace std;

int func1() {
int temp = rand();
if (temp % 2 == 0) {
return temp;
} else func1();
}

int func2() {
int temp = rand();
if (temp % 2 != 0) {
return temp;
} else func2();
}

int main()
{
int a[10][10]={};
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (j % 2 == 0) {
a[i][j] = func2();
}

if (j % 2 != 0) {
a[i][j] = func1();
}
}
}

for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
cout << a[i][j] << ' ';
} cout << endl;
}

return 0;
}
то есть на входе генерится случайное число, но в ячейку массива оно идет, только если выполняется условие на четность?
V-
Vlad -/-@
8 919
Nikita Khan Типо того. В чётных столбцах рандомные четные числа, в нечётных рандомные нечётные

Похожие вопросы