![]() |
|
|
|
|
#1
|
|||
|
|||
|
Матрица A состоит из 7 строк и 5 столбцов. Сформировать два одномерных массива. P – из положительных элементов матрицы, N – из отрицательных элементов матрицы. Нулевые элементы не включать.
Ошибки в последних строках. Надо вывести в memo1 и memo2. Исправьте, пожалуйста. Код:
var
a:Array[1..7,1..5] of integer;
p:Array[1..7*5] of integer;
n:Array[1..7*5] of integer;
i,j,k,l:integer;
begin
randomize;
for i:=1 to 6 do begin
for j:=1 to 8 do begin
a[i,j] := random(10);
StringGrid1.Cells[j - 1, i- 1] := FloatToStr(a[i, j]);
end;
end;
l := 0;
k := 0;
for i:=1 to 6 do begin
for j:=1 to 8 do begin
if a[i,j] > 0 then begin inc(k); p[k] := a[i,j];
end;
if a[i,j] < 0 then begin inc(l); n[l] := a[i,j];
end;
end;
end;
for i:=1 to k do memo1.Lines.Text:=memo1.Lines.Text+'P[',i,'=',p[i],' ';
memo1.Lines.Add('');
for i:=1 to l do memo1.Lines.Text:=memo1.Lines.Text+'N[',i,'=',n[i],' ';
end.Последний раз редактировалось Admin, 17.03.2016 в 20:12. |
|
#2
|
|||
|
|||
|
24:
Код:
for i:=1 to k do memo1.Lines.Text:=memo1.Lines.Text+'P['_IntToStr(i)+'='+IntToStr(p[i])+' '; 26: Код:
for i:=1 to k do memo1.Lines.Text:=memo1.Lines.Text+'N['_IntToStr(i)+'='+IntToStr(n[i])+' '; А вообще, это не очень хорошо так с Memo обращаться. Лучше сделать буферную строковую переменную, собрать строку в ней, а потом уже в Memo добавить. |