Тема: Двовимірний динамічний масив
Створюючи програму спіткнувся на цікавий момент. Створюючи місце в пам'яті для майбутнього динамічного масиву 5х5 програма може виводити з масиву число координатою 5х[любе число більше за 5], це правильно чи я щось не так зробив?
#include <iostream>
using namespace std;
void main()
{
int i, j, kil = 5, key = 0, value, ciferka, newkil;
int **silmas = new int *[kil];
for (i = 0; i < kil; i++)
silmas[i] = new int[kil];
for (i = 0; i < kil; i++)
{
for (j = 0; j < kil; j++)
{
silmas[i][j] = 0;
cout << silmas[i][j] << "\t";
}
cout << endl;
}
cout << "\n dobaviti riadok(1) chi stovbec(2)?";
while (key != 1 && key != 2)
{
cin>>key;
if (key != 1 && key != 2)
cout << "\nTry again!\n";
}
switch (key)
{
case 1:
cout << "\n riadok. Which stolbec in new riadok u want to fill? \n";
cin >> value;
cout << "ciferka?:"; cin >> ciferka;
newkil = kil+1;
silmas = new int *[newkil];
for (i = 0; i < newkil; i++)
silmas[i] = new int[kil];
for (i = 0; i < 6; i++)
{
for (j = 0; j < 5; j++)
{
if (j == value-1&&i == 5)
{
silmas[i][j] = ciferka;
cout << silmas[i][j] << "\t";
}
else
{
silmas[i][j] = 0;
cout << silmas[i][j] << "\t";
}
}
cout << endl;
}
cout << silmas[3][38] << "\t"; // ___________________Чому це працює???
break;
case 2:
cout << "\n stovbec. Which riadok in stovbec u want to fill? \n";
cin >> value;
break;
default: cout << "\nerror\n";
break;
}
system("pause");
}