Выделить в тексте слова, не содержащие знаки данного алфавита - Pascal
Формулировка задачи:
Строка текста содержит слова, пробелы, знаки препинания. Перенос слов со строки на строку запрещен. Текст занимает одну или несколько строк. Выделить в тексте слова, не содержащие знаки данного алфавита.
UP
АП ! ! !
UP !!!
Решение задачи: «Выделить в тексте слова, не содержащие знаки данного алфавита»
textual
Листинг программы
program z5; uses crt; const r=' .:,!?-;'; dsl=15; dstr=100; nMax=100; type tSlov = string[dsl]; tStrok = string[dstr]; tMas = array [1..nMax] of tSlov; procedure vvod(var u:integer; var M:tMas); var dlstr,kolStr,nEl,nSlova,dSlova,i:integer; str: tStrok; begin Write('Vvedite kolichestvo strok: '); Readln(kolStr); u:=0; While kolStr>0 do begin writeln('Vvedite stroky: '); readln(str); dlstr:=length(str); nEl:=1; while nEl<=dlstr do begin while (nEl<=dlstr) and (pos(str[nEl],r)>0) do inc(nEl); nSlova:=nEl; while (nEl<=dlstr) and (pos(str[nEl],r)=0) do inc(nEl); dSlova:=nEl-nSlova; if dSlova>0 then begin inc(u); M[u]:=copy(str,nSlova,dSlova); end; end; dec(kolStr); end; end; var u,i:integer; M:tMas; begin clrscr; Vvod(u,M); Writeln('Otvet: '); for i:=1 to u do {Writeln(M[i]);} begin Write(' '); Write(M[i]); end; Readln; end.
Объяснение кода листинга программы
- Ввод количества строк и ввод строк в процедуре vvod
- В цикле пока количество строк больше нуля происходит обработка каждой строки
- В каждой строке ищутся слова, не содержащие знаки данного алфавита
- Если найденное слово удовлетворяет условию, то оно добавляется в массив M
- В конце программы выводится результат на экран
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д