Drol
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Привет Всем!!! Составил программку на с++. Компеляция проходит все нормально. При запуске программы, выходит сообщения под тип ошибки размешении массивов в памяти и программа закрываеться. Использую МАССИВЫ с большими размерами. Когда уменьшаю размер, то программа работает без ошибок. Только мне нужно чтобы программа имело МАССИВ с большим размером tc[20000][6] и tci[100][20001]. Сама программа с идексациями написано правельно. Помогите решить проблему? Программа #include <stdio.h> int main() { unsigned int pob,i,j; unsigned int m1,m2,idx,otvet; unsigned int tc[20000][6]; unsigned int tci[100][20001]; scanf("%i%i",&otvet,&pob); for (i=0; i<otvet; ++i) tci[i][20001]=0; for (i=0; i<otvet; ++i) { scanf("%i%i",&tc[i][0],&tc[i][1]); idx=tc[i][0]/1000; ++tci[idx][20001]; tci[idx][tci[idx][20001]]=i; } if (pob>9) {m1=pob/10; m1=(m1*10)-10;} for (i=0; i<pob; ++i) { scanf("%i%i%i%i",&tc[i][2],&tc[i][3],&tc[i][4],&tc[i][5]); if (i<m1) { scanf("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", &tc[i+1][2],&tc[i+1][3],&tc[i+1][4],&tc[i+1][5], &tc[i+2][2],&tc[i+2][3],&tc[i+2][4],&tc[i+2][5], &tc[i+3][2],&tc[i+3][3],&tc[i+3][4],&tc[i+3][5], &tc[i+4][2],&tc[i+4][3],&tc[i+4][4],&tc[i+4][5], &tc[i+5][2],&tc[i+5][3],&tc[i+5][4],&tc[i+5][5], &tc[i+6][2],&tc[i+6][3],&tc[i+6][4],&tc[i+6][5], &tc[i+7][2],&tc[i+7][3],&tc[i+7][4],&tc[i+7][5], &tc[i+8][2],&tc[i+8][3],&tc[i+8][4],&tc[i+8][5], &tc[i+9][2],&tc[i+9][3],&tc[i+9][4],&tc[i+9][5] ); i=i+9; } } for (i=0; i<pob; ++i) { otvet=0; m1=tc[i][2]/1000; m2=tc[i][4]/1000; for (j=m1; j<m2; ++j) for (idx=0; idx<tci[j][20001]; ++idx ) if (tc[tci[j][idx]][0]>=tc[i][2] && tc[tci[j][idx]][0]<=tc[i][4] && tc[tci[j][idx]][1]>=tc[i][3] && tc[tci[j][idx]][1]<=tc[i][5]) ++otvet; printf("%i\n",otvet); } return(0); } | Всего записей: 69 | Зарегистр. 26-09-2001 | Отправлено: 08:30 02-12-2006 | Исправлено: Drol, 08:54 02-12-2006 |
|