@lalalalal

Как заполнить массив рандомными числами от -10 до 10?

Помогите заполнить трехмерный массив рандомными числами от -10 до 10
Сейчас у меня заполняется положительными рандомными. Что тут исправить?
#include "stdafx.h"
#include <time.h>
#include <stdlib.h>
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
	setlocale(LC_ALL, "Russian");

	srand(time(NULL)); // Инициализируем генератор случайных чисел. 
	int N = 0;
	cout << "Введите N = ";
	cin >> N; // Считываем с клавиатуры n

	int ***arr = new int**[N];

	for (int i = 0; i<N; i++) {
		arr[i] = new int*[N];

		for (int j = 0; j<N; j++) {
			arr[i][j] = new int[N];
		}
	}

	for (int z = 0; z<N; z++)
		for (int y = 0; y<N; y++)
			for (int x = 0; x < N; x++)
			{
				arr[z][y][x] = rand();
			}
	for (int z = 0; z<N; z++)
		for (int y = 0; y<N; y++)
			for (int x = 0; x<N; x++)
				cout << arr[z][y][x] << endl;

	system("pause");

	return 0;
}
  • Вопрос задан
  • 1745 просмотров
Решения вопроса 1
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
ru.cppreference.com/w/cpp/algorithm/generate
std::generate(array, array + size, []() { return rand()%20 - 10; });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Изменить вот тут:
arr[z][y][x] = rand();

Как работает rand - почитать вот тут:
www.cplusplus.com/reference/cstdlib/rand
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы