Program Diagonal; uses Crt; const n = 5; Type Mas = array [1..n, 1..n] of integer; Vec = array [1..n*n] of integer; var A: Mas; V: Vec; i, j , k: integer; p : longint; begin ClrScr; Randomize; p:=1; WriteLn('Massiv A:'); for i:=1 to n do begin for j:= 1 to n do begin A[i, j]:= 1+random (9); p:=p*A[i,i]; Write(A[i, j]:4); end; WriteLn; WriteLn; end; k:=0; for i:=1 to n do for j:=1 to n do begin if (A[i,j]>p) and (j<i) then begin k:=k+1; V[k]:=A[i, j]; end; end; WriteLn('Vector V='); for j:=1 to k do Write(V[j]:4);
WriteLn; if k=0 then Writeln ('None'); ReadLn; end.
Программа подсчитывает количество слов длиной в 5 символов во введенном тексте. Но работать она не будет, есть ошибки: 1. Встречен repeat но нет until 2. Есть 3 begin, но только 2 end 3. Константа N лишняя. Нигде в программе не используется После исправления ошибок программа с краткими комментариями будет выглядеть так:
program Zinaida; var i, k: integer; inString: String; isize, count: integer; begin write('String: '); readln(inString); //ввод текста k := length(instring); //длина текста if instring[k] = '.' then dec(k); //цикл для поиска пробелов и //слов с длиной 5 символов for i := 1 to k do begin if instring[i] <> ' ' then inc(isize); if (instring[i] = ' ') or (i = k) then begin //если длина слова = 5 то увеличиваем count на 1 if isize = 5 then inc(count); isize := 0; end; end; write('Количество слов из пяти букв', count); end.
ответ: вариант а
Объяснение: поиск по тексту по ключевым словам позволяет находить нужные моменты.