Паскаль. дана матрица к (5 на 5). найти минимальный размер элемента в строчке 4,и заменить этим значением все элементы главной диагонали.(элементы матрицы вводить с клавиатуры или рандома).
Const n=5; var a:array[1..n,1..n] of integer; i,j,amin:integer; begin Randomize; Writeln('Сгенерированный массив'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=Random(50)+1; Write(a[i,j]:3) end; Writeln end; amin:=a[4,1]; for j:=2 to n do if amin>a[4,j] then amin:=a[4,j]; for i:=1 to n do a[i,i]:=amin; Writeln('Результирующий массив'); for i:=1 to n do begin for j:=1 to n do Write(a[i,j]:3); Writeln end end.
const z = 30; // максимально число слов var s,w : string; n,p,i,j,l : integer; words : array [1..z] of string; kw : array [1..z] of integer; r : boolean; begin writeln ('введите строку'); readln (s); writeln ('укажите кол-во повторений'); readln (n); l := Length(s); p := 1; w := ''; for i := 1 to l do if (s[i] <> ' ') and (s[i] <> '.') and (s[i] <> ',') then w := w + s[i] else begin for j := 1 to p do if w = words[j] then begin kw[j] := kw[j] +1; r := true; end; if not r then begin p := p +1; words[p] := w; kw[p] := kw[p] +1; end; w := ''; r := false; end; for i := 1 to p do if kw[i] > n then writeln (words[i]); end.
Const n=50; { максимальное число различных слов в строке } del=[' ','.',',',':',';','-','!','?','/']; var mw:array[1..n] of string; { найденные слова } mk:array[1..n] of integer; { количество повторений слов } s,w:string; i,j,k,l,m:integer; skip,new_word:boolean; begin Write('Введите текст: '); Readln(s); s:=s+' '; Write('Укажите предельное число повторений слова: '); Read(k); l:=Length(s); m:=0; skip:=(s[1] in del); if skip then w:='' else w:=s[1]; for i:=2 to l do if s[i] in del then begin if not skip then begin { w содержит очередное найденное слово } j:=1; new_word:=true; while (j<=m) and new_word do begin if w=mw[j] then begin Inc(mk[j]); new_word:=false end; Inc(j) end; if new_word then begin Inc(m); mw[m]:=w; mk[m]:=1 end; w:=''; skip:=true end end else if skip then begin w:=s[i]; skip:=false end else w:=w+s[i]; { фраза разобрана и проанализирована } j:=0; i:=1; while (i<=m) and (j=0) do begin if mk[i]>k then j:=i; Inc(i) end; if j>0 then begin Writeln('Слова, которые встретились больше, чем ',k,' раз:'); Writeln(mw[j]); for i:=j+1 to m do if mk[i]>k then Writeln(mw[i]); end else Writeln('Нет слов, которые встретились больше, чем ',k,' раз.') end.
Тестовое решение: Введите текст: еду, еду в чистом поле; колокольчик дин-дин-дин... страшно, страшно поневоле средь неведомых равнин! Укажите предельное число повторений слова: 1 Слова, которые встретились больше, чем 1 раз: еду дин страшно
n=5;
var
a:array[1..n,1..n] of integer;
i,j,amin:integer;
begin
Randomize;
Writeln('Сгенерированный массив');
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(50)+1;
Write(a[i,j]:3)
end;
Writeln
end;
amin:=a[4,1];
for j:=2 to n do
if amin>a[4,j] then amin:=a[4,j];
for i:=1 to n do a[i,i]:=amin;
Writeln('Результирующий массив');
for i:=1 to n do begin
for j:=1 to n do Write(a[i,j]:3);
Writeln
end
end.
Тестовое решение:
Сгенерированный массив
14 26 14 37 27
27 24 37 17 38
36 22 41 29 14
13 7 32 42 27
27 28 21 10 26
Результирующий массив
7 26 14 37 27
27 7 37 17 38
36 22 7 29 14
13 7 32 7 27
27 28 21 10 7