C/C++
Заполнить 2D массив случайными числами
Так, чтобы в чётных столбцах находились чётные числа, а в нечётных нечётные. Массив 10х10. Помогите с кодом, пожалуйста. В интернете нет.
#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");
}
#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");
}
#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;
}
#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;
}
#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;
}
то есть на входе генерится случайное число, но в ячейку массива оно идет, только если выполняется условие на четность?
Nikita Khan
Типо того. В чётных столбцах рандомные четные числа, в нечётных рандомные нечётные
Похожие вопросы
- Помогите пожалуйста с Массивами .В языке С .Заполнил 2-мерный массив N и M случайными числами дальше не понимаю.
- Создать одномерный массив, состоящий из n вещественных элементов. Элементы массива определить при помощи случайных чисел
- Массив Х [36] целых элементов задать датчиком случайных чисел.
- Для всех задач сформировать одномерный массив N случайных чисел из интервала (-10; 10).
- Рекурс.функцию, которая принимает 2х-мерный массив целых чисел и кол-во сдвигов и выполняет круговой сдвиг массива влево
- Написать РЕКУРСИВНУЮ функцию, которая принимает двухмерный массив целых чисел и выполняет круговой сдвиг массива ВЛЕВО.
- Заполнить двумерный массив 5*3 и найти строку с максимальным произведением элементов. C++
- Напишите рекурсивную функцию, которая принимает двухмерный массив целых чисел и количество сдвигов и выполняет
- 5) Найти среднее значение элементов построчно и по столбцам массива n*n случайных чисел. с++ пж помагите
- Задача по С++, генератор случайных чисел(сортирует что бы не было одинаковых чисел))