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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2008, 22:40   #1
Лёха
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 20
По умолчанию Помогите с задачей

Помогите кто может! Я паскаль совсем непонимаю, а тут нам задали задачку, надо написать! Вот её условие: Выделить из текста предложения (они отделены точкой) и занести каждое предложение в массив строк. Затем вывести массив на экран.
Помогите пожалуйста, буду очень вам благодарен!
Лёха вне форума Ответить с цитированием
Старый 06.02.2008, 23:27   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
(они отделены точкой)
Обычно в нормальном тексте предложения отделяются точкой и пробелом, а в форматированном тексте пробелов может быть больше одного. Поскольку эти пробелы не являются частью предложения, их надо удалить, что мы сначала и сделаем.

Код:
program mass_predl;
uses crt;
var s:string;
    s1:array[1..50]of string;
    i,j:integer;
begin
clrscr;
write('s: ');readln(s);
//удаляем пробелы после предложений
i:=1;
while i<length(s) do  
  begin
    if (s[i]=' ')and(s[i-1]='.') then
    delete(s,i,1);
    i:=i+1;
  end;
//создаем массив из предложений
j:=0;
for i:=1 to length(s)  do 
if s[i]='.'then
   begin
     j:=j+1;
     s1[j]:=copy(s,1,(pos('.',s)));//копируем предложение в элемент массива
     delete(s,1,pos('.',s));//удаляем его из текста
   end;
for i:=1 to j do
writeln(s1[i]);readln;//выводим массив на экран столбиком
end.
puporev вне форума Ответить с цитированием
Старый 06.02.2008, 23:40   #3
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Проверь, что будет если этой программе дать строку:
"123.123 . 123 . 123 ...................."

Неочень првильно выводит. И кстати чтото пробелы никуда недеваются..
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 06.02.2008, 23:59   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Я сделал код для нормального текста, где между словами в предложении пробелы, в конце предложения точка, потом пробел и новое предложение. Думаю, чтобы сдать задачу этого хватит, а сидеть и выдумывать тесты на неправильность программы нет никакого желания. При работе со строками, если не оговорить четко все условия, вообще трудно сделать нормальный код.
puporev вне форума Ответить с цитированием
Старый 07.02.2008, 21:49   #5
Лёха
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 20
По умолчанию

Ребята, большое вам спасибо
Лёха вне форума Ответить с цитированием
Старый 07.02.2008, 21:51   #6
Лёха
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 20
По умолчанию

Я незнаю, чтоб я без вас делал, вот проблемка будет ещё к ней блок-схемку сделать.
Лёха вне форума Ответить с цитированием
Старый 07.02.2008, 22:55   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Раз уж чего-то с кодом намудрил, надо и блок-схему к нему. См. во вложении.
Вложения
Тип файла: doc Леха-блок-схема.doc (24.5 Кб, 14 просмотров)
puporev вне форума Ответить с цитированием
Старый 08.02.2008, 20:08   #8
Лёха
Пользователь
 
Регистрация: 17.12.2007
Сообщений: 20
По умолчанию

Огромнейшее вам спасибо, я незнаю чтоб я без вас делал
Лёха вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачей. terminadoor Помощь студентам 4 22.07.2008 18:38
Помогите с задачей drossel Общие вопросы C/C++ 9 01.06.2008 21:45
Помогите с задачей.. vit_al Паскаль, Turbo Pascal, PascalABC.NET 3 24.04.2008 13:48
Помогите с задачей в С++ vovchara Помощь студентам 2 22.04.2008 22:49
Помогите с задачей bel_ka Общие вопросы C/C++ 13 26.12.2007 19:23