int **Matrix = new int*[NX];
switch (var) {
case 1:
{
cout<< rus("Введите порядок:");
cin>>NX;
Тут у вас явно неправильно. Вы создаете матрицу порядка NX, а
затем только инициализируете переменную NX. Этот фрагмент
кода смысла явно не имеет. Дальше не смотрел...
Добавлено спустя 5 минут 32 секунды:А потом еще увеличиваете это значение, вот здесь:
NY=NX;
cout<<endl;
NY++;
NX++;
После чего спокойно делаете вот так:
[quote="allsolovey в
сообщении #185194"] for( int z = 0; z<NX; z++ )
Matrix[z] = new int[NY]; [/quote]
В общем как-то странно вы с массивами обращаетесь...
Добавлено спустя 14 минут 39 секунд:
В общем вы несколько раз используете один и тот же код, например,
когда создаете матрицу. Почему бы вам не создавать ее (причем резервируя
именно столько памяти сколько нужно) один раз до switch и потом заполнять внутри.
Вообще в таком виде программа не читабельна. Напишите функции,
которые заполняют матрицу и вызывайте их... Кроме того вы нигде
не освобождаете память выделенную под матрицу - это плохо...