Помощь - Поиск - Пользователи - Календарь
Полная версия: функция
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Zlo
Функция, которая находит количесвто слов в строке, содержащих две подряд одинаковые буквы. Вот есть она, но количество слов выдает на 1 больше. Помогите поправить функцию.


function slovo(s:string):string;
var n,i:integer; w:string; p:boolean;
begin
k:=0;
for i:=1 to length(s) do
if s[i]<>' ' then
w:=w+s[i] else
begin
p:=false;
for n:=1 to length(w)-1 do
begin
if w[n]=w[n+1] then
p:=true;

end;
if p then k:=k+1;
w:='';

end;
end;

Client
А функциям надо присваивать значения, или забыл?И вообще она не правильная, для начала тебе надо разбить строку на слова, а потом искать те слова, которые содержат две подряд одинаковые буквы
Den
Цитата(Zlo @ 4.04.2008 20:59) *

Функция, которая находит количесвто слов в строке, содержащих две подряд одинаковые буквы. Вот есть она, но количество слов выдает на 1 больше. Помогите поправить функцию.


function slovo(s:string):string;
var n,i:integer; w:string; p:boolean;
begin
k:=0;
for i:=1 to length(s) do
if s[i]<>' ' then
w:=w+s[i] else
begin
p:=false;
for n:=1 to length(w)-1 do
begin
if w[n]=w[n+1] then
p:=true;

end;
if p then k:=k+1;
w:='';

end;
end;




Сделай вместо "for i:=1 to length(s) do" - "for i:=1 to length(s)-1 do" и будет тебе счастье smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.