2Imobilazer: вариант Серого работает, но только в последних версиях компиляторов, это C++11. А твой вариант вообще не работает.
Если компилятор старый, напрямую так сделать (почти) нельзя. Есть 3 обходных пути:
- одномерный массив, вручную адресуемый как двумерный:
int *mass = new int [ n*n ];
mass[ i*n + j ] = 5;//вместо mass[ i ][ j ] = 5
...
- массив массивов:
int **mass = new int *[ n ];
for ( int i = 0; i < n; ++i ) mass[ i ] = new int [ n ];
mass[ i ][ j ] = 5;
но удалять тоже - сначала в цикле все подмассивы, а потом основной. Кстати, так можно делать пилообразный массив, с разной длиной строк.
- одномерный массив, преобразованый к нужному типу:
int (&mass)[ n ][ n ] = *reinterpret_cast< int (*)[ n ][ n ] >(new int[ 10 * 10 ]);
Но так делать не рекомендуется, особенно новичкам, это очень сильное C++-ное колдунство.
Другие языки программирования и технологии
Объявление массива С++. С клавиатуры вводится число n, потом надо задать массив nxn. Как это сделать?
int n;
cin >> n;
int *mass = new int[n][n];
for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) cin >> mass[ i][j];
cin >> n;
int *mass = new int[n][n];
for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) cin >> mass[ i][j];
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cout n;
int myArray[n];
system("pause");
return 0;
}
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cout n;
int myArray[n];
system("pause");
return 0;
}
Похожие вопросы
- С клавиатуры вводятся числа, пока не будет введен ноль, вывести числа в обратно порядке. С++ Голову сломал !!!
- Вводится число N, а затем N чисел. Подсчитайте, сколько среди данных N чисел нулей.
- С клавиатуры вводится n – длина ступенчатого массива.
- Дан линейный массив чисел N. N вводит пользователь. Вывести все простые числа массива.
- помогите? Дан массив целых чисел (n=15),
- Работа с массивами. Объявление массивов. Изменение и чтение элементов массива
- Напишите программу, которая выводит на экран все делители числа N, (число N вводится с клавиатуры) абсПАСКАЛЬ ПОМОГИТЕ
- Разработайте программу, которая заполняет двумерный массив натуральными числами по спирали. Максимальное число N задается.
- Как срандомить случайные вещественные числа N и занести их в массив? C++
- нужно решение с++. С клавиатуры вводится 13 целых чисел, найти позиции всех простых чисел.