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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2010, 18:17   #1
Drago56
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 91
По умолчанию Работа со строками [Паскаль]

Текст, не содержащий собственных имен и сокращений, набран полностью прописными русскими буквами. Заменить все прописные буквы, кроме букв, стоящих после точки, строчными буквами.
Drago56 вне форума Ответить с цитированием
Старый 13.12.2010, 18:31   #2
sig_GB
Пользователь
 
Регистрация: 23.02.2010
Сообщений: 69
По умолчанию

ну ка пример подкинь
задача
и ее ответ правильный
Помог? Нажми на <Весы> слева.
С++, Pascal, Assembler 386 - под заказ.
sig_GB вне форума Ответить с цитированием
Старый 13.12.2010, 18:32   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

что вызывает сложность?
заведите признак начала строки. После того, как встретили точку - устанавливайте этот признак.
в цикле перебираете символы, если встретили прописную букву и признак начала строки не задан - меняйте её на строчную букву.
всё.
да, алгоритм как проверять, что буква прописная/строчная и менять соответственно на то, что надо можете взять тут, дарю!

будут конкретные проблемы - пишите сюда, в тему..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.12.2010, 18:34   #4
Asker13
Форумчанин
 
Аватар для Asker13
 
Регистрация: 01.12.2010
Сообщений: 140
По умолчанию

s введёте с клавиатуры.
Код:
i := 1;
while s[i] <> '.' do begin
  s[i] := chr(ord(s[i]) + 32);
  Inc(i);
end;

Последний раз редактировалось Asker13; 13.12.2010 в 18:36.
Asker13 вне форума Ответить с цитированием
Старый 13.12.2010, 19:09   #5
Drago56
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 91
По умолчанию

Всем спасибо
Drago56 вне форума Ответить с цитированием
Старый 13.12.2010, 19:15   #6
Drago56
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 91
По умолчанию

Пример:Я ПОШЁЛ СЕГОДНЯ ГУЛЯТЬ. НАШЁЛ КОШЕЛЁК.
Правильный ответ:Я пошёл сегодня гулять. Нашёл кошелёк.
Drago56 вне форума Ответить с цитированием
Старый 13.12.2010, 19:28   #7
Asker13
Форумчанин
 
Аватар для Asker13
 
Регистрация: 01.12.2010
Сообщений: 140
По умолчанию

Извините, условие неверно понял.
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  s: string;
  i: integer;
begin
  ReadLn(s);
  i := 2;

  while i <= Length(s) do begin
    while ((s[i] <> '.') and (s[i] <> ' ')) do begin
      s[i] := chr(ord(s[i]) + 32);
      Inc(i);
      if i > Length(s) then break;
    end;
    if i > Length(s) then break;
    if s[i] = '.' then Inc(i, 2);
    Inc(i);
  end;

  WriteLn(s);
  ReadLn;
end.
Работает правильно, при условии, что после точки стоит пробел.
Asker13 вне форума Ответить с цитированием
Старый 13.12.2010, 19:31   #8
Drago56
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 91
По умолчанию

Спасибо!!!
Drago56 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Паскаль! Работа со строками Ksenya4742 Помощь студентам 1 25.05.2009 09:20
Задачка со строками (Паскаль) GaJIbI4 Помощь студентам 3 23.01.2009 20:57
Помогите решить. Паскаль. Работа со строками. Удалить лишние пробелы. Комильфо Помощь студентам 3 10.11.2007 21:42