Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];

Вниз

проблема с кодом программы   Найти похожие ветки 

 
Bullfrog   (2006-12-15 13:36) [0]


Repeat
Repeat
  if resursi[i]>zayavki[j] then
    Begin
    StringGrid1.Cells[i,j]:=IntToStr(zayavki[j]);
    Resursi[i]:=Resursi[i]-Zayavki[j];
    end
    else Begin
    StringGrid1.Cells[i,j]:=IntToStr(Resursi[i]);
    Zayavki[j]:=zayavki[j]-resursi[i];
    Resursi[i]:=0;
    end;
  if resursi[i]=0 then inc(i) else inc(j)
  Until j=zak+1    
Until i=res+1;    
end;

вот эта часть должна решать транспортную задачу методом северо-западного угла, выводится ошика которая для меня вообще не понятна: выводится два окна:
1. с заголовком CPU и большим количеством каких-то циферок
2. с заголовком Debagger Fault Notification, в окне указан путь к проекту и далее слова: Project1.exe faulted with message: "acces violation at 0x00000000: read of addres 0x00000000". Process stopped.

Что это за ошибка? Как с ней бороться?


 
Reindeer Moss Eater ©   (2006-12-15 13:39) [1]

Вышел за границы строки или массива


 
Anatoly Podgoretsky ©   (2006-12-15 13:41) [2]

> Bullfrog  (15.12.2006 13:36:00)  [0]

Не создан какой то объект или куда то передан нулевой указатель.


 
Bullfrog   (2006-12-15 13:46) [3]


> Не создан какой то объект или куда то передан нулевой указатель.
>
>

т.е.? если можно поподробней
что такое нулевой указатель?
объект всмысле компонент?


 
Amoeba ©   (2006-12-15 13:46) [4]

А переменные i и j предварительно инициализированы?


 
Desdechado ©   (2006-12-15 13:49) [5]

> объект всмысле компонент?
массив, стринггрид, что угодно, что требуется создать

отладчик работает? протрассируй, увидишь строку, где ошибка


 
Anatoly Podgoretsky ©   (2006-12-15 13:50) [6]

> Bullfrog  (15.12.2006 13:46:03)  [3]

Твой код не позволяет говорить ни подробнее, ни конкретнее.


 
Bullfrog   (2006-12-15 13:57) [7]


> А переменные i и j предварительно инициализированы?
>

да


> массив, стринггрид, что угодно, что требуется создать

стриннгрид создан


 
Desdechado ©   (2006-12-15 14:01) [8]

а сторок и столбцов с гриде и массивах нужное количество?
они же не авторасширяемые, их выделять надо


 
Anatoly Podgoretsky ©   (2006-12-15 14:03) [9]

> Bullfrog  (15.12.2006 13:57:07)  [7]

Это слова и только слова. У тебя в приведеном куске 7 переменных неизвестного типа и состояния.


 
Bullfrog   (2006-12-15 14:04) [10]


> а сторок и столбцов с гриде и массивах нужное количество?
>
> они же не авторасширяемые, их выделять надо
>

грид 4х5
и два массива
рес - 4 элемента
зак - 5 элементов


 
Bullfrog   (2006-12-15 14:08) [11]


>
> Это слова и только слова. У тебя в приведеном куске 7 переменных
> неизвестного типа и состояния.

Вот текст кнопки целеком:
procedure TForm1.Button2Click(Sender: TObject);
var
resursi: array [1..100] of integer;
zayavki: array [1..100] of integer;
i,j,s1,s2,res,zak : integer;
begin
//proverka na sootvetstvie zakritoi transp. zad-i
s1:=0;
s2:=0;
res:=strtoint(edit1.Text);//4
zak:=strtoint(edit2.Text);//5
for i:=1 to zak do begin
resursi[i]:=StrToInt(stringgrid1.Cells[i,res+1]);
s1:=s1+resursi[i];
end;
label5.caption:="Ñóììà çàÿâîê è ðåñóðñîâ ðàâíû, ñîñòîâëÿþò:"+inttostr(s1)+" åäåíèö";
for i:=1 to res do begin
zayavki[i]:=StrToInt(stringgrid1.Cells[zak+1,i]);
s2:=s2+zayavki[i];
end;

if s1=s2 then
 begin
//  showmessage("Ñóììà ðàâíà");
//  stringgrid1.Cells[res+1,zak+1]:=inttostr(s1);
 end
else Begin
//showmessage("Ñóììà íå ðàâíà! Ââåäèòå âåðíûå çíà÷åíèÿ");
Application.Terminate;
end;

//raspredelenie
i:=1; j:=1;
Repeat
  Repeat
  if resursi[i]>zayavki[j] then
    Begin
    StringGrid1.Cells[i,j]:=IntToStr(zayavki[j]);
    Resursi[i]:=Resursi[i]-Zayavki[j];
    end
    else Begin
    StringGrid1.Cells[i,j]:=IntToStr(Resursi[i]);
    Zayavki[j]:=zayavki[j]-resursi[i];
    Resursi[i]:=0;
    end;
  if resursi[i]=0 then inc(i) else inc(j)
  Until j=zak+1      
Until i=res+1;    
end;



 
Anatoly Podgoretsky ©   (2006-12-15 14:09) [12]

> Bullfrog  (15.12.2006 14:04:10)  [10]

Ни рес, ни зак массивов в коде не наблюдается.


 
Bullfrog   (2006-12-15 14:12) [13]


> Ни рес, ни зак массивов в коде не наблюдается.

извиняюсь
resursi[i]
zayavki[j]


 
Anatoly Podgoretsky ©   (2006-12-15 14:16) [14]

Cm. [5]


 
Bullfrog   (2006-12-15 14:29) [15]


> Cm. [5]
>

что это?


 
Bullfrog   (2006-12-15 15:37) [16]

разобрался...
собака была зарыта здесь:
for i:=1 to zak do begin
resursi[i]:=StrToInt(stringgrid1.Cells[i,res+1]);
s1:=s1+resursi[i];
end;
label5.caption:="Ñóììà çàÿâîê è ðåñóðñîâ ðàâíû, ñîñòîâëÿþò:"+inttostr(s1)+" åäåíèö";
for i:=1 to res do begin
zayavki[i]:=StrToInt(stringgrid1.Cells[zak+1,i]);
s2:=s2+zayavki[i];
end;


нужно было написать:
for i:=1 to zak do begin
zayavki[i]:=StrToInt(stringgrid1.Cells[i,res+1]);
s1:=s1+zayavki[i];
end;
label5.caption:="Ñóììà çàÿâîê è ðåñóðñîâ ðàâíû, ñîñòîâëÿþò:"+inttostr(s1)+" åäåíèö";
for i:=1 to res do begin
resursi[i]:=StrToInt(stringgrid1.Cells[zak+1,i]);
s2:=s2+resursi[i];
end;

и еще нужно было исправить условие:
Until j=zak  
+1 было лишним...
всем спасибо!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.009 c
2-1166290330
anton773
2006-12-16 20:32
2007.01.07
обратиться к контролам на другой форме (.NET)


15-1166001006
ocean
2006-12-13 12:10
2007.01.07
100 худших фильмов


2-1166381023
allrussia
2006-12-17 21:43
2007.01.07
Как и можно ли создать таблицу в таблице?


2-1166174674
Legolas
2006-12-15 12:24
2007.01.07
Работа с окнами


2-1166356390
VadimSpb
2006-12-17 14:53
2007.01.07
Определение ID последней записи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский