Данную задачу можно организовать следующим кодом
Код:
Program DvoynoyMassive;
Const
n=10;m=10; {задаём размерности, в данном случае 10Х10}
Var
mass:array [1..n,1..m] of integer; {объявляем массив целых чисел, с нумерацией с единицы}
a,b,c,d,i,sum,csum:integer; {разные переменные, походу будут нужны}
Procedure input;
Begin
For a:=1 to n do begin
For b:=1 to m do begin
Read(mass[a,b]); end; end; {читаем элементы с клавиатуры, при размерности 10х10 сто раз надо будет вбить цифры}
end;
Procedure output;
Begin
For a:=1 to n do begin
For b:=1 to m do begin
Write(' ',mass[a,b]); end; {выводим элементы на экран}
Writeln end;
end;
Begin
sum:=0;csum:=0;c:=0;
Write('Enter the elements of massive: ');
input;
Writeln('--------------------------source massive-------------------------');
output;
For a:=1 to n do begin
For b:=1 to m do begin
If (b>2) then
If (mass[a,b]>0) then
If (mass[a,b-1]>0) and (mass[a,b-2]>0)then begin
mass[a,b]:=mass[a,b-1]+mass[a,b-2];
c:=c+1; end
Else begin
For i:=1 to b-1 do begin
d:=mass[a,b-i];
if d>0 then
begin
sum:=d+sum;
csum:=csum+1;
end;
if csum>1 then
begin csum:=0;
Break;
end;
end;
if sum>0 then
begin
mass[a,b]:=sum;
c:=c+1;
sum:=0;
end;
end;
end;end;
Writeln('--------------------------destiny massive------------------------');
output;
Write('The number of changing is ',c);
End.
Если масив хХ2 то никаких замен не будет, так как всего два элемента на строчку.
Результат выполнения программы (ВНИМАНИЕ! Для массива 2х5, а то 100 елементо не охота вбивать.)
Цитата 2xArray.exe:
Enter the elements of massive: 1 2 4 -456 5 2345 5 -567 68 34 -32
--------------------------source massive-------------------------
1 2 4 -456 5
2345 5 -567 68 34
--------------------------destiny massive------------------------
1 2 3 -456 5
2345 5 -567 2350 2355
The number of changing is 4
|
Удачной сдачи!