Вопрос №8: найти все ошибки в данном фрагменте программы var a: = array[1…20] ofinteger; i, k: integer begin for i : = 1 downto n do begin a[i]: = random(30); end; readln(k); for i : = 1 to n do begin ifali) > k then end; read(n); end.
И никаких велосипедов с перебором всего списка слов в цикле.
Объяснение:
Да, я специально решил эту задачу не так, как просят в условии. Ведь в условии вам максимально разжевали подход к решению. Но, стоит заметить, что по дурацки. Питоньи списки можно перебирать циклом вида for item in list, не обращаясь к исходному списку по индексам. Так же функция max() может принимать аргумент key, который является функцией, с которой интерпретатор будет выбирать максимум из указанного списка.
const nx = 20; var x: array[1..nx, 1..nx] of integer;z:array[1..nx*2] of integer; i, j, k,n,r,t: integer; begin Writeln('Введите размер матрицы n');Read(n); for i := 1 to n do begin for j := 1 to n do begin Read(k);x[i, j] := k; end;end; Writeln('Исходный массив'); for i := 1 to n do begin for j := 1 to n do begin Write(x[i, j]:4); if x[i, j]>0 then begin t:=t+1; z[t]:=x[i, j];end; end; Writeln; end; Writeln;Writeln('Одномерный массив'); for j := 1 to t do Write(z[j]:4); end.
Python 3.7
import re
import string
def clrStr(strng: str) -> str:
return re.sub(r' +', ' ', re.sub(rf'[{string.punctuation}]|\n', '', strng))
raw_string = input()
clean_string = clrStr(raw_string)
print(max(clean_string.split(' '), key = lambda p: len(p)))
И никаких велосипедов с перебором всего списка слов в цикле.
Объяснение:
Да, я специально решил эту задачу не так, как просят в условии. Ведь в условии вам максимально разжевали подход к решению. Но, стоит заметить, что по дурацки. Питоньи списки можно перебирать циклом вида for item in list, не обращаясь к исходному списку по индексам. Так же функция max() может принимать аргумент key, который является функцией, с которой интерпретатор будет выбирать максимум из указанного списка.
var x: array[1..nx, 1..nx] of integer;z:array[1..nx*2] of integer;
i, j, k,n,r,t: integer;
begin
Writeln('Введите размер матрицы n');Read(n);
for i := 1 to n do begin
for j := 1 to n do begin
Read(k);x[i, j] := k; end;end;
Writeln('Исходный массив');
for i := 1 to n do begin
for j := 1 to n do begin
Write(x[i, j]:4);
if x[i, j]>0 then begin t:=t+1; z[t]:=x[i, j];end;
end;
Writeln; end;
Writeln;Writeln('Одномерный массив');
for j := 1 to t do
Write(z[j]:4);
end.