![]() |
|
#1
|
|||
|
|||
![]() Код:
procedure TForm1.Button2Click(Sender: TObject); Type Tmas=array[0..14] of integer; Var a,b:array[0..14] of Tmas; x:array[0..14] of integer; l:boolean; i,j:integer; begin for i:=0 to n-1 do for j:=0 to n-1 do a[i,j]:=StrToInt(StringGrid1.Cells[j,i]); for i:=0 to n-1 do for j:=0 to n-1 do b[i,j]:=StrToInt(StringGrid2.Cells[j,i]); for i:=1 to n do begin l:=true; for j:=1 to n do if (a[i,j]>=0) and (b[i,j]>=0) then l:=false; if l=true then x[i]:=1 else x[i]:=0 ; end; for i:= 1 to n do memo1.Lines.Add(inttostr(x[i])); end; обьясните почему в обоих случаях одномерный масив x[i]:=0 ???? реально замахался ![]() Последний раз редактировалось Admin, 14.12.2009 в 20:35. |
#2
|
|||
|
|||
![]() Включи конроль границ в опциях проекта. Тогда поймешь.
У тебя выход за границу массива. |
#3
|
|||
|
|||
![]() ниче не понял =) можно поподробнее ? =)
|
#4
|
|||
|
|||
![]() У тебя массивы длинной от 0 до 14 (всего 15 элементов). И при их чтении ты честно идешь от индекса 0 до n-1 (подозреваю, что n = 15).
А при вычислении, ты идешь с индекса 1 до n (который = 15). Т.е. у тебя не рассчитывается первый элемент, зато идет обработка памяти за границей массива. Что там на самом деле находится - никто не знает. Может поэтому и не работает. |
#5
|
|||
|
|||
![]() можно подробнее?? project/options там??7 если да то че именно ?
|
#6
|
|||
|
|||
![]() ой сори 2 сообщения вышло =)) спс я всё понял =)))
|
#7
|
|||
|
|||
![]() Ты проверь, мож и не в этом дело. Протсо это первое, что в глаза бросилось.
|
#8
|
||||
|
||||
![]() 1. Непонятно чему равно n на входе в TForm1.Button2Click
2. Нафига делать два цикла на заполнение a и b если это можно сделать одним: Код:
for i:=0 to n-1 do for j:=0 to n-1 do begin a[i,j]:=StrToInt(StringGrid1.Cells[j,i]); b[i,j]:=StrToInt(StringGrid2.Cells[j,i]); end; Код:
if l=true then Код:
if l then Код:
for i:=0 to n-1 do begin l:=true; for j:=0 to n-1 do if (a[i,j]>=0) and (b[i,j]>=0) then begin l:=false; break; end; if l then x[i]:=1 else x[i]:=0 ; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 14.12.2009 в 23:28. |