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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2012, 20:49   #1
Ника-Вероника
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 15
По умолчанию отредактирование предложения

Отредактируйте заданное предложение, заменяя многоточия точкой, а вместо точки ставьте восклицательный знак.
помогите пожалуйста
Ника-Вероника вне форума Ответить с цитированием
Старый 12.03.2012, 21:06   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Код:
var
  i:integer;
  s:string
begin
  readln(S);
  i:=length(s);
  while i>=1 do
    begin
      if (s[i]='.') and (s[i-1]='.') then
        begin
          delete(s,i,1);
          dec(i);
          if s[i-1]<>'.' then
            dec(i);
          continue;
        end;
      if (s[i]='.') then
        begin
          delete(s,i,1);
          insert('!',s,i);
          dec(i);
          continue;
        end;
      dec(i);
    end;
  writeln(S);
  readln;
end.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 12.03.2012, 22:32   #3
Ника-Вероника
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 15
По умолчанию

Большое спасибо. Я эту задачу решала другими способами, они работали только наполовину.
Ника-Вероника вне форума Ответить с цитированием
Старый 13.03.2012, 01:18   #4
skyll
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 28
По умолчанию

Вот более проще пример, если еще пригодится:

Код:
uses crt;
var
   str, str1: string;
   i: integer;
begin
     write('Enter Text: ');
     readln(str);
     str1 := '';
     for i := 1 to length(str) do begin
         {if str[i] = '.' then
            if str[i+1] = '.' then
               if str[i+2] = '.' then begin
                  str1 := str1 + '.';
                  i := i + 2;
               end
               else str1 := str1 + '!'
            else str1 := str1 + '!'
         else str1 := str1 + str[i]; }
         if (str[i] = '.') and (str[i+1] = '.') and (str[i+2] = '.') then begin
            str1 := str1 + '.';
            i := i + 2;
         end
         else
             if str[i] = '.' then
                 str1 := str1 + '!'
             else
                 str1 := str1 + str[i];
     end;
     writeln;
     write(str1);
end.
skyll вне форума Ответить с цитированием
Старый 13.03.2012, 03:30   #5
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Так, на будущее

В реале многоточие — это обычно один символ: chr(133): …
Sasha_Smirnov вне форума Ответить с цитированием
Старый 13.03.2012, 10:49   #6
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
В реале многоточие — это обычно один символ: chr(133): …
Во-первых, дэлфи на это:
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

begin
  writeln(chr(133));
  readln
end.
выдал знак вопроса

Во-вторых, если символ "..." и существует, то это троеточие, а не многоточие.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 13.03.2012, 12:02   #7
Ника-Вероника
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 15
По умолчанию

Всем большое спасибо. Все понадобится. Хочу во всем разобраться и чему-то научиться.
Ника-Вероника вне форума Ответить с цитированием
Старый 13.03.2012, 14:26   #8
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Whatever
Цитата:
Во-вторых, если символ "..." и существует, то это троеточие, а не многоточие.
Да, есть такой символ "…".

Да и потом:
Цитата:
то это троеточие, а не многоточие.
Это не одно и то же?
Вадим Мошев вне форума Ответить с цитированием
Старый 13.03.2012, 14:36   #9
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Это не одно и то же?
Ну задание у нас "Отредактируйте заданное предложение, заменяя многоточия точкой, а вместо точки ставьте восклицательный знак."

Если троеточие и многоточие одно и тоже, то строку вида
Код:
S:='qwe...qwe..qwe....qwe.qw.'
нужно преобразовать в
Код:
S:='qwe.qwe!!qwe.!qwe!qw!'
Я же предположил, что правильнее будет
Код:
S:='qwe.qwe.qwe.qwe!qw!'
Впрочем не настаиваю, возможны оба варианта.

Update: погуглил, действительно, троеточие и многоточие это одно и тоже. Однако для данной задачи настаиваю на своем решении
Все тривиальное просто

Последний раз редактировалось whatever; 13.03.2012 в 14:42.
whatever вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа по разбору предложения на члены предложения GrimSmiler Общие вопросы по Java, Java SE, Kotlin 0 12.01.2012 23:59
Разбить строку на предложения, посчитать количество слов в предложении, вывести предложения, удовлетворяющие условию. Си woot Помощь студентам 2 18.10.2011 16:19
Редактирование предложения. grave123 Общие вопросы C/C++ 2 18.10.2011 13:26
Вашы предложения flexo911 Помощь студентам 6 29.11.2010 23:54
Предложения Simply-Art О форуме и сайтах клуба 9 24.08.2007 09:37