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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2007, 22:44   #1
Artem1987
Пользователь
 
Регистрация: 17.10.2007
Сообщений: 15
Хорошо Слово нечетной длинны!

16. Помогите написать программу, которая удаляет из строки символов каждое слово нечетной длины. Слова отделяются друг от друга пробелом.
На паскале. Спасибо!
Artem1987 вне форума Ответить с цитированием
Старый 28.10.2007, 02:46   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Код:
program Project1;

 Function Rus(mes: string): string;
  var i: integer;
  begin
    for i:=1 to length(mes) do
     case mes[i] of
       'А'..'п' : mes[i] := Chr(Ord(mes[i]) - 64);
       'р'..'я' : mes[i] := Chr(Ord(mes[i]) - 16);
     end;
    Rus := mes;
  end;

{$APPTYPE CONSOLE}

var mes, mes2: string;
    k: integer;

begin
Write (Rus('Введите слово или фразу: '));
Readln (mes);

Write (Rus('Введёная фраза содержит '));
Write (length(mes)); Write (Rus(' символов (включая пробелы)'));
Writeln; Writeln;

  for k := 1 to length(mes) do
  if mes[k] <> ' ' then Write (mes[k]) else Writeln;

Readln;
end.
Вот эта программа (консольное приложение в делфи) разделяет фразу на отдельные слова. Ещё пару строчек, а имено ветвление if then и программа будет готова.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 28.10.2007, 13:43   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Если не смог воспользоваться предыдущим предложением, посмотри это. Здесь попроще, все в Паскале + готовая прграмма во вложении.


Код:
program udal_sl;
uses crt;
var
    s,s1:string; i,j:integer;
begin
      clrscr;
      writeln(‘Введите строку, состоящую из слов, разделенных пробелами:’);
      writeln;
      readln(s);
      writeln(‘----------------------------------------------------------------------------------‘);
      repeat
          j:=pos(‘ ‘,s); первое появление пробела(номер позиции)
          if j mod 2<> 0 then s1:=s1+copy(s,1,j-1)+’ ‘);
         delete(s,1,j);  удаляем использованные слова в начале строки
       until j=0;
       if length(s) mod 2=0 then s1:=s1+s; последнее слово
       write(‘Слова с четным количеством букв:’);
       writeln;
       writeln;
       write(s1+’ ‘);
       readln;
end.
Вложения
Тип файла: rar UDAL_SL.rar (474 байт, 15 просмотров)
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слово наоборот Ketu Паскаль, Turbo Pascal, PascalABC.NET 12 16.03.2008 00:23
Как найти слово в тексте ? geniy Паскаль, Turbo Pascal, PascalABC.NET 2 03.02.2008 21:37
Сколько раз встречается данное слово n1k1c4 Помощь студентам 4 13.12.2007 20:33
Как удалить слово из строки? Ellita Общие вопросы C/C++ 7 19.09.2007 15:43
зарезервированное слово 'National' Nowichok БД в Delphi 5 11.02.2007 20:12