Постройте блок-схему алгоритма обработки строк: вводится строка, состоящая из букв и пробелов. составить из входящих в нее букв несколько любых их сочетаний (слов) любой длины. каждую букву строки можно использовать неограниченное количество раз.
Решение на паскаль. начало решения задач одинаковое, а дальше см. внизу
program xxx; var b: array [1..6, 1..6] of integer; i, j, s : integer; begin for i:= 1 to 6 do for j:=1 to 6 do b[i,j]:= random(131)-65; writeln ('исходная матрица В:'); for i:=1 to 6 do begin for j:=1 to 6 do write (b[i,j]:4); writeln end;
задание 1. s:=0; for i:= 1 to 6 do if b[i,3]>0 then s:=s+b[i,3]; writeln ('сумма положительных элементов 3-го столбца', s) end.
задание 2. i:=2; while i<=6 do begin for j:= 1 to 6 do if b[i,j]<0 then b[i,j]:=0; i:=i+2 end; writeln ('полученная матрица В:'); for i:=1 to 6 do begin for j:=1 to 6 do write (b[i,j]:4); writeln end end.
Const m=10; n=6; var a:array[1..m,1..n] of integer; i,j,maxr:integer; p,maxp:longint; begin Randomize; Writeln('Исходный массив'); maxp:=0; for i:=1 to m do begin p:=1; for j:=1 to n do begin a[i,j]:=Random(99)+1; { интервал [1..99] } Write(a[i,j]:3); p:=p*a[i,j] end; if maxp<p then begin maxp:=p; maxr:=i end; Writeln end; for i:=1 to m do for j:=1 to n do a[i,j]:=a[maxr,j]; Writeln('Сформированный массив'); for i:=1 to m do begin for j:=1 to n do Write(a[i,j]:3); Writeln end end.
начало решения задач одинаковое, а дальше см. внизу
program xxx;
var b: array [1..6, 1..6] of integer;
i, j, s : integer;
begin
for i:= 1 to 6 do
for j:=1 to 6 do
b[i,j]:= random(131)-65;
writeln ('исходная матрица В:');
for i:=1 to 6 do
begin
for j:=1 to 6 do
write (b[i,j]:4);
writeln
end;
задание 1.
s:=0;
for i:= 1 to 6 do
if b[i,3]>0 then s:=s+b[i,3];
writeln ('сумма положительных элементов 3-го столбца', s)
end.
задание 2.
i:=2;
while i<=6 do begin
for j:= 1 to 6 do
if b[i,j]<0 then b[i,j]:=0;
i:=i+2
end;
writeln ('полученная матрица В:');
for i:=1 to 6 do
begin
for j:=1 to 6 do
write (b[i,j]:4);
writeln
end
end.
m=10;
n=6;
var
a:array[1..m,1..n] of integer;
i,j,maxr:integer;
p,maxp:longint;
begin
Randomize;
Writeln('Исходный массив');
maxp:=0;
for i:=1 to m do
begin
p:=1;
for j:=1 to n do
begin
a[i,j]:=Random(99)+1; { интервал [1..99] }
Write(a[i,j]:3);
p:=p*a[i,j]
end;
if maxp<p then begin maxp:=p; maxr:=i end;
Writeln
end;
for i:=1 to m do
for j:=1 to n do a[i,j]:=a[maxr,j];
Writeln('Сформированный массив');
for i:=1 to m do
begin
for j:=1 to n do Write(a[i,j]:3);
Writeln
end
end.
Тестовое решение:
Исходный массив
86 61 76 1 86 64
93 87 34 66 35 13
51 39 57 5 71 49
86 47 26 30 93 80
58 24 59 57 3 79
46 81 17 24 11 37
12 83 56 75 89 16
50 93 57 1 51 64
25 35 69 29 46 73
68 56 68 95 42 62
Сформированный массив
86 47 26 30 93 80
86 47 26 30 93 80
86 47 26 30 93 80
86 47 26 30 93 80
86 47 26 30 93 80
86 47 26 30 93 80
86 47 26 30 93 80
86 47 26 30 93 80
86 47 26 30 93 80
86 47 26 30 93 80