Дан текст. Напечатать все слова, которые входят в текст по одному разу.
Категория: Delphi/Pascal
2012-01-22 23:11:52
code: #pascal
Program PascalGuru; procedure delPROB (var s:string); {функция удаления пробела} var i:integer; begin i:=1; repeat if copy(s,i,2)=' ' then delete(s,i,1) else inc(i); until i>length(s); end; {---конец функции удаления пробела} {----------------------------------} var s,x:string; {ниже идёт объявление переменных} i,j,p,n:integer; A:array[1..50] of string; b:boolean; {----------------------------------} begin write('Vvedite stroky slov (text) otdelennymi probelami: '); readln(s); { считываем исходную строку} delPROB(s); {удаляем лишние пробелы} j:=0; {обнуляем счётчик кол-ва слов} repeat {начало цикла преобразования строки слов - в массив строк} inc(j); {увеличиваем счётчик кол-ва слов на +1} p:=pos(' ',s); {находим позицию пробела} x:=copy(s,1,p-1);{вычисляем текущее слово} if p=0 then x:=s;{проверяем - состоит ли строка из 1 слова } A[j]:=x; {текущее слово записываем в массив} delete(s,1,p); {удаляем это слово из строки} until p=0; {--- конец цикла преобразования строки слов - в массив строк} n:=j; writeln; Writeln('Nepovtoryaiuciesia slova:'); Writeln('_________________________'); for i := 1 to n do begin b := true; for j := 1 to n do if (i<>j) and (A[j]=A[i]) then b:=false; if b then Writeln(A[i],' ');end; readln; end.
Поделиться: