Автор Вова Рудзей задал вопрос в разделе Другие языки и технологии
Подсчитать слова в тексте.Турбо Паскаль и получил лучший ответ
Ответ от QAZWSX azxs[гуру]
program gfhg; uses crt; var s:string; k,j,a:integer; begin writeln(\'строка: \'); readln(s); k:=0; a:=length(s); for j:=1 to a do if s[j]=\',\' or s[j]=\':\' or s[j]=\'\"\' then s[j]:=\' \'; if s[a]=\'.\' or s[a]=\'!\' or s[a]=\'?\' then s[a]:=\' \'; s:=\' \'+s+\' \'; a:=length(s); for j := 1 to a - 6 do if copy(s, j, 7) = \' write \' then inc(k); writeln(k); end.
Ответ от Доминатор[гуру]
for i := 1 to length(s) - 4 do if copy(s, i, 5) = 'write' then inc(k);
for i := 1 to length(s) - 4 do if copy(s, i, 5) = 'write' then inc(k);
Ответ от Sm[гуру]
> в проге щитает все слова Ерунду она у тебя "щитает", а не слова) В строке, к примеру, "слово слово слово " она "нащитает" аж 7 слов вместо трех)
> в проге щитает все слова Ерунду она у тебя "щитает", а не слова) В строке, к примеру, "слово слово слово " она "нащитает" аж 7 слов вместо трех)
Ответ от Titaniya World[гуру]
Введите еще одну переменную для запоминания начала каждого слова, затем при нахождении пробела используя функцию copyпроизводите сравнение
Введите еще одну переменную для запоминания начала каждого слова, затем при нахождении пробела используя функцию copyпроизводите сравнение
Ответ от Jurii[гуру]
Как-то так: S1 := S; { в копию строки } K := 0; while Pos('write', S1) > 0 do { пока write встречается в строке } begin P := Pos('write', S1); { позиция слова write } Delete(S1, P, 5); { удалим слово write } if Length(S1
Как-то так: S1 := S; { в копию строки } K := 0; while Pos('write', S1) > 0 do { пока write встречается в строке } begin P := Pos('write', S1); { позиция слова write } Delete(S1, P, 5); { удалим слово write } if Length(S1
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Подсчитать слова в тексте.Турбо Паскаль