@lalalalal

Как разыменовать элементы массива?

Трехмерный динамический массив NxNxN (k-слой, i-строка, j-столбец) заполнить случайными значениями от -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];
	cout << "Массив: ";
	cout << endl;
	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 i = 0; i<N; i++)
		for (int j = 0; j<N; j++)
			for (int k = 0; k < N; k++)
			{
				arr[i][j][k] = rand()%20-10;
				cout << arr[i][j][k] << endl;
				
				
			}
	cout << endl << "Массив2: ";
	cout << endl;
	
	for (int i = 0; i < N; i++)
		for (int j = 0; j < N; j++)
			for (int k = 0; k < N; k++)
				if (arr[i][j][k] > 0)
				{
					arr[i][j][k] = arr[i][j][k] * -1;
					cout << arr[i][j][k] << endl;
				}
	cout << endl;
	system("pause");
	cout << endl;
	return 0;
	
}
#
  • Вопрос задан
  • 420 просмотров
Решения вопроса 2
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
К элементу массива на который указывает указатель можно обращаться с синтаксисом [], как к массиву, т.е.
int *array = new int[10];
array[1] = 10;
delete[] array;

или же с синтаксисом разыменовывания указателей, т.е.
int *array = new int[10];
*(array + 1) = 10;
delete[] array;

вероятно от вас требуется второй вариант. А вообще, читайте лучше книжки, чем по каждому пустяку идти на тостер.
Ответ написан
Комментировать
maaGames
@maaGames
Погроммирую программы
*(*(*(arr+i)+j)+k) = rand()%20 - 10;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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