Частичная обработка двумерного массива (по строкам или по столбцам). Типовые алгоритмы.
| Таблица 5.2.
|
| Типовой алгоритм
| Программная реализация (Бейсик)
| Программная реализация (Паскаль)
|
|
Сумма элементов каждой строки
| …for i=1 to nfor j=1 to ms(i)=s(i)+x(i,j)next jnext irem-----------------------------------for i=1 to nprint s(i);" ";next | …for i:=1 to n dos[i]:=0;for i:=1 to n dofor j:=1 to m dos[i]:=s[i]+x[i,j];for i:=1 to n dowrite (s[i]);… |
| Произведение элементов каждой строки
| …for i=1 to np(i)=1nextrem-----------------------------------for i=1 to nfor j=1 to mp(i)=p(i)*x(i,j)next jnext irem-----------------------------------for i=1 to nprint p(i);" ";next | …for i:=1 to n dop[i]:=1;for i:=1 to n dofor j:=1 to m dop[i]:=p[i]*x[i,j];for i:=1 to n dowrite (p[i]); |
| Максимальный (минимальный) элемент каждой строки
| …for i= 1 to nmax(i)=x(i,1)min(i)=x(i,1)nextrem-----------------------------------for i=1 to nfor j=1 to mif x(i,j)>max(i) then max(i)=x(i,j)if x(i,j)<min(i) then min(i)=x(i,j)next j,irem-----------------------------------for i=1 to nprint max(i);" ";;nextprint for i=1 to nprint min(i);" ";;next… | …for i:= 1 to n dobeginmax[i]:=x[i,1];min[i]:=x[i,1];end;for i:=1 to n dofor j:=1 to m dobeginif x[i,j]>max[i] then max[i]:=x[i,j];if x[i,j]<min[i] then min[i]:=x[i,j];end;for i:=1 to n dowrite (max[i]);writeln;for i:=1 to n dowrite (min[i]);… |
| Выбор по условию (в каждой строке)
| …for i=1 to nfor j=1 to mif {условие} then {rez(i)=…}next jnext irem-----------------------------------for i=1 to nprint rez(i);" ";next | …for i:= 1 to n dobeginrez[i]:=0;end;for i:=1 to n dofor j:=1 to m doif {условие} then {rez[i]:=…};for i:=1 to n dowrite (rez[i]);… |