- •1. Простые операторы
- •2 Условный оператор If
- •3 Условный оператор Case.
- •Ручной счет.
- •4 Оператор цикла For
- •5. Оператор циклаRepeat…Until
- •6. Оператор повтораWhile
- •7.Вложенные циклы
- •8 Одномерные массивы
- •1. Алгоритмы поиска и присвоения значений элементам массива
- •2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
- •3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
- •9. Двумерные массивы
- •1. Алгоритмы действий над элементами двумерного массива
- •2 Алгоритмы формирования одномерного массива
2 Алгоритмы формирования одномерного массива
1.Дан двумерный массив размерностью 6х5, заполненный целыми числами, введенными с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца, если такого нет, то равен нулю.
program lr92z1;
const n=6;m=5;
var s:array[1..n,1..m] of integer;p,k,z,i,s:integer;
e:array[1..5] of integer;
begin
for i:=1 to n do
begin
writeln('vvodite ',i,' stroku');
for i1:=1 to m do
begin
writeln('vvedite ',s,' chislo');
readln(s[i,s]);
end;
end;
for i:=1 to n do
for i1:=1 to m do
begin
if s[i,s] mod 2=0 then e[i]:=s[i,s] else e[i]:=0;
end;
for i:=1 to 5 do
writeln(e[i]);
readln(p);
end.
end.
2.Дана квадратная матрица размерностью NхN, заполненная целыми числами и величина А. Сформировать одномерный массив, каждый элемент которого равен элементу, расположенному на главной диагонали , умноженному на величину А .
program lr92z2;
const n=5;m=5;
var s:array[1..n,1..m] of integer;p,a,i,s:integer;
k:array[1..n] of integer;
begin
writeln('vvedite chislo a ');
readln(a);
for i:=1 to n do
begin
writeln('vvodite ',i,' stroku');
for i1:=1 to m do
begin
writeln('vvedite ',s,' chislo');
readln(s[i,s]);
end;
end;
for i:=1 to n do
begin
writeln;
for s:=1 to m do
write(s[s,i],' ');
end;
writeln;
for i:=1 to n do
begin
k[i]:=s[i,i]*a;
writeln(k[i]);
end;
readln(p);
end.
Дан двумерный массив размерностью 5х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен произведению четных положительных элементов соответствующего столбца.
rogram lr92z2;
const n=5;m=6;
var s:array[1..n,1..m] of integer;p,k,z,i,i1:integer;
e:array[1..m] of integer;
begin
for i:=1 to n do
begin
writeln('vvodite ',i,' stroku');
for i1:=1 to m do
begin
writeln('vvedite ',i1,' chislo');
readln(s[i,i1]);
end;
end;
for i:=1 to n do
begin
writeln;
for i1:=1 to m do
write(s[i,i1],' ');
end;
writeln;
for i:=1 to m do
begin
e[i]:=1;
for i1:=1 to n do
if (s[i1,i] mod 2=0) and (s[i1,i]>0) then e[i]:=e[i]*s[i1,i];
end;
for i:=1 to m do
writeln(e[i]);
readln(k);
end.
4.Дан двумерный массив размерностью 6х8, заполненный целыми числами, введенными с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен количеству элементов соответствующих строк матрицы, значения которых находятся в интервале( -2, 10).
program lr92z4;
const n=6;m=8;
var s:array[1..n,1..m] of integer;p,a,i,i1:integer;
k:array[1..n] of integer;
begin
for i:=1 to n do
begin
writeln('vvodite ',i,' stroku');
for i1:=1 to m do
begin
writeln('vvedite ',i1,' chislo');
readln(s[i,i1]);
end;
end;
for i:=1 to n do
begin
writeln;
for i1:=1 to m do
write(s[i,i1],' ');
end;
for i:=1 to n do
for i1:=1 to m do
begin
if (s[i,i1]>-2) and (s[i,i1]<10) then k[i]:=s[i,i1]+k[i];
end;
writeln;
for i:=1 to n do
writeln(k[i]);
readln(p);
end.