Re: Можете помочь...
От: MTatarnikov  
Дата: 20.12.05 02:36
Оценка:
Здравствуйте, Аноним!

Отформатировал был, тогда всё сразу стало бы видно:



int** mass,n,i,j;
cout << "Oboznachte razmer matricy\n";
cin >> n;

mass = new int*[n];

for (int i = 1; i < n-2; i++)
{
    mass[i] = new int [n];

    for (i = 2; i <= n-2; i++)
        for (j=2; j <= n-2; j+2)
            mass[i][j] = 2;
}

mass[0][0] = mass[n-1][0] = mass[0][n-1] = mass[n-1][n-1] = 1;

cout << mass[i][j];

getch();




Не знаю, как там на борланде, но из общих размышлений мне кажется, что вылетать может в самом внутреннем цикле. Т.е. выделяется одна строчка матрицы, а дальше идёт двойной цикл заполнения ВСЕЙ матрицы. Нехорошо. Ещё одно место с вылетом — переменная i в самом начале объявленна, но неинициализированна. В заголовке цикла переменная i опять объявляется, скрывая первую. Выходя из цикла, внутренняя i уничтожается, и в строчке
cout << mass[i][j]

видется изначальная неинициализированная i. Думаю, в данном примере закрывающая фигурная скобка просто поставленна неправильно.
Ещё мне не нравится запись типа
for (j = 2, j <= n-2; j+2)

. Ворнинги иногда полезно читать
Кстати, неплохо бы удалять память за собой, хотя в данном примере это не особо и важно.


Миша.



А>//---------------------------------------------------------------------------


А>#include <vcl.h>

А>#pragma hdrstop
А>#include <iostream.h>
А>#include<conio.h>
А>//---------------------------------------------------------------------------

А>#pragma argsused

А>#pragma argsused
А>void main()
А>{
А> int **mass,n,i,j;
А> cout << "Oboznachte razmer matricy\n";
А> cin >> n;

А> mass = new int*[n];

А> for (int i=1; i<n-2; i++)
А> { mass[i] = new int [n];
А> for ( i=2; i<=n-2; i++)
А> for ( j=2; j<=n-2; j+2)
А> mass[i][j]=2; }
А> mass[0][0]=mass[n-1][0]=mass[0][n-1]=mass[n-1][n-1]=1;
А> cout<<mass[i][j];

А> getch(); }

А>//----------------------------------------------------------------------------
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.