Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2010, 19:26   #1
bot0
Пользователь
 
Регистрация: 25.12.2010
Сообщений: 16
Восклицание Нужен код, который выделяет из строки слова (Pascal)

код, который выделяет из строки слова
Потом, для каждого слова проверять, таким кодом:
Код:


function isDubleLettrers(OneWord : string) : boolean;
var i:integer;
isFound : boolean;
begin
isFound := false; {вначале считаем, что таких букв нет}

i := 1; {начиная с первой буквы}
while (i<Length(OneWord)) and (Not isFound) do begin
{если текущая буква равна следующей, значит нашли такую пару!}
if OneWord[i] = OneWord[i+1] then
isFound := true;
inc(i);
end;

isDubleLettrers := isFound;
end;

Само задание:
Задана строка, что состоит из слов, разделенная одним или несколькими пропусками.Подсчитать количество слов которые содержат пары соседних одинаковых букв.

Если кто знает другие методы решения данной задачи прошу написать в виде программки.
bot0 вне форума Ответить с цитированием
Старый 28.12.2010, 20:17   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
код, который выделяет из строки слова
Код:
j := 1;
for i := 1 to length(s) do
begin
    if (s[i] <> ' ') and (i <> length(s)) then
    begin
        ts[j] := s[i];
        j++;
    end
    else
    begin
        if i = length(s) then ts[j] := s[i];
        writeln (ts); {Вот здесь слово должно быть сформированно, можешь вызывать функцию}
        ts := '';
        j := 1;
    end;
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 28.12.2010, 20:24   #3
bot0
Пользователь
 
Регистрация: 25.12.2010
Сообщений: 16
По умолчанию

как полностью будет выглядеть рабочая программка с моим и вашим кодом? ...у меня выбивает ошибку...
bot0 вне форума Ответить с цитированием
Старый 28.12.2010, 20:29   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Ну можно и так
Код:
{Обьявление переменных и т.д}
{Потом ваша функция}
function isDubleLettrers(OneWord : string) : boolean;
var i:integer;
isFound : boolean; 
begin
isFound := false; {вначале считаем, что таких букв нет}

i := 1; {начиная с первой буквы}
while (i<Length(OneWord)) and (Not isFound) do begin 
{если текущая буква равна следующей, значит нашли такую пару!}
if OneWord[i] = OneWord[i+1] then 
isFound := true;
inc(i);
end;

isDubleLettrers := isFound;
end;

{Потом где-то в теле программы}
count := 0;
j := 1;
for i := 1 to length(s) do
begin
    if (s[i] <> ' ') and (i <> length(s)) then
    begin
        ts[j] := s[i];
        j++;
    end
    else
    begin
        if i = length(s) then ts[j] := s[i];
        if isDubleLettrers(ts) = true then Inc(count);
        ts := '';
        j := 1;
    end;
end;
Writeln ('Количество слов равно ', count);
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 28.12.2010, 21:29   #5
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Hacker19_90, операция извлечения инкремента в паскале не i++, а inc(i); или i:=i+1;
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 28.12.2010, 21:38   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
Hacker19_90, операция извлечения инкремента в паскале не i++, а inc(i); или i:=i+1;
Спасибо! Я заметил!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 28.12.2010, 21:43   #7
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Это так, для автора. А то будет бошку ломать почему не пашет.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 28.12.2010, 21:57   #8
bot0
Пользователь
 
Регистрация: 25.12.2010
Сообщений: 16
По умолчанию

спс...MyLastHit
bot0 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен программист который напишет программу Alesha88 Фриланс 5 27.01.2010 21:47
Код, который, заставляет задуматься... AlDelta Свободное общение 72 21.12.2009 15:19
нужен совет человека, который может оказаться и психологом и программистом Владислав Вайсман Свободное общение 9 13.05.2008 20:44