Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.07;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.059 c
1-1163596997
Vitebsky
2006-11-15 16:23
2007.01.07
строка ввода, в которой можно писать разными цветами и шрифтами


2-1166577368
Алексей Филонович
2006-12-20 04:16
2007.01.07
форма


15-1166453613
Cyrax
2006-12-18 17:53
2007.01.07
С каких слов начинается текст справки...


15-1166296486
ArtemESC
2006-12-16 22:14
2007.01.07
Как это читается?


2-1166172987
Tupoy
2006-12-15 11:56
2007.01.07
Научите работать с клавой