Программа Pascal, разобраться в ошибках кода
не могу понять ошибки, + проблема при компиляции. Помогите плиз))
Еще посоветовали вставить функцию delimiter - не знаю зачем)
Работа со строковыми переменными:
1) вывести фразу ("Изучение алгоритма позволяет представить микропроцессорное устройство")
2) подсчитать кол-во элементов в каждом слове
3) Если во фразе «Изучение алгоритма позволяет представить микропроцессорное устройство» длина самого длинного слова кратна длине самого короткого слова, то расположить слова из фразы в обратном порядке.
Программа на Turbo Pascal:
uses crt, dos;
type
TWords = array[1 .. 50] of string;
var st1 as string;
i, cnt, cnt1, min1, max1 as integer;
wrd as TWords;
function GetWords(s: string; var words: TWords): integer;
var
i, back, n: integer;
begin
i := 1;
n := 0;
while i <= length(s) do begin
while (i <= length(s)) and (s in delimiter) do inc(i);
if i <= length(s) then begin
back := i;
while (i <= length(s)) and not(s in delimiter) do inc(i);
inc
;
words[n] := copy(s, back, i - back);
end;
end;
GetWords := n;
end;
begin
st1 := 'Изучение алгоритма позволяет представить микропроцессорное устройство';
writeln(st1);
cnt := GetWords(st1, wrd);
nim1 := length(wrd[1]);
max1 := length(wrd[1]);
for i := 1 to cnt do
begin
cnt1 := length(wrd);
writeln('Слово "',wrd,'" = ',cnt1,' букв');
if max1 < cnt1 then max := cnt1;
if min1 > cnt1 then min := cnt1;
end;
if (max1 mod min1) = 0 then
for i := cnt downto 1 do writeln(wrd,' ');
end.
не могу понять ошибки, + проблема при компиляции. Помогите плиз))
Еще посоветовали вставить функцию delimiter - не знаю зачем)
Работа со строковыми переменными:
1) вывести фразу ("Изучение алгоритма позволяет представить микропроцессорное устройство")
2) подсчитать кол-во элементов в каждом слове
3) Если во фразе «Изучение алгоритма позволяет представить микропроцессорное устройство» длина самого длинного слова кратна длине самого короткого слова, то расположить слова из фразы в обратном порядке.
Программа на Turbo Pascal:
uses crt, dos;
type
TWords = array[1 .. 50] of string;
var st1 as string;
i, cnt, cnt1, min1, max1 as integer;
wrd as TWords;
function GetWords(s: string; var words: TWords): integer;
var
i, back, n: integer;
begin
i := 1;
n := 0;
while i <= length(s) do begin
while (i <= length(s)) and (s in delimiter) do inc(i);
if i <= length(s) then begin
back := i;
while (i <= length(s)) and not(s in delimiter) do inc(i);
inc
words[n] := copy(s, back, i - back);
end;
end;
GetWords := n;
end;
begin
st1 := 'Изучение алгоритма позволяет представить микропроцессорное устройство';
writeln(st1);
cnt := GetWords(st1, wrd);
nim1 := length(wrd[1]);
max1 := length(wrd[1]);
for i := 1 to cnt do
begin
cnt1 := length(wrd);
writeln('Слово "',wrd,'" = ',cnt1,' букв');
if max1 < cnt1 then max := cnt1;
if min1 > cnt1 then min := cnt1;
end;
if (max1 mod min1) = 0 then
for i := cnt downto 1 do writeln(wrd,' ');
end.