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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2008, 21:22   #1
quqer
Новичок
Джуниор
 
Регистрация: 07.03.2008
Сообщений: 2
По умолчанию Строки в Паскале Обработка текста

Строки в Паскале. Ребята помогите. Горит курсовик. Не успел доделать две работы.
Задан текст, состоящий из слов, записанных через пробелы или запятые. Длина текста не больше 255 символов. В тексте могут быть использованы любые символы. Словом считать последовательность символов, не содержащую пробел. Необходимо введенный текст вы-вести на экран до и после его преобразования.

1.Сформировать массив из 5-символьных слов, расположив их по алфавиту.
2.Найти первое цифровое слово и уменьшить его значение в 3 раза.
quqer вне форума Ответить с цитированием
Старый 11.03.2008, 07:32   #2
andrey4623
Форумчанин
 
Аватар для andrey4623
 
Регистрация: 31.05.2007
Сообщений: 266
По умолчанию

Не так-то это и просто, чтобы делать просто так...
andrey4623 вне форума Ответить с цитированием
Старый 11.03.2008, 10:33   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да не пугайте вы новичка... Ничего сложного в данной задаче нет.
вся сложность то в том, чтобы разобрать строчку на слова...
массив достаточно сделать на 128 строк (это если все слова по одной букве ;-)
или с сортировкой массива проблемы?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.03.2008, 11:22   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вот пока ответ на вторую часть вопроса.
Код:
uses crt;
const m=['0'..'9'];
var s,s1:string;
    i,c:integer;
    r:real;
begin
clrscr;
     writeln('s:'); readln(s);
     writeln('chislo # 1:');
     i:=1;
     while NOT(s[i] in m) and (i<=length(s)) do
     inc(i);
     s1:='';
     while (s[i] in m) and (i<=length(s)) do
         begin
           s1:=s1+s[i];
          inc(i);
        end;
writeln(s1);
val(s1,r,c);
writeln('r=',r/3:5:2);
readln;
end.
Что касается первой части задания, то его не хочется даже начинать из-за его неопределенности.
1.Если слова разделены пробелами или запятыми, то логично считать словом ряд символов, не содержащих пробелы и запятые.
2.Что такое "символьное слово". Это ведь опять и буквы и цифры и знаки разделения и прочие символы. Может надо создать массив из пяти буквенных символов, иначе как расставлять по алфавиту слова, начинющиеся например на точки или тире и пр. Если слова буквенные, то опять проблемы с русскими и английскими буквами, с прописными и строчными. Короче задание очень неудачное и пусть его делает тот, кто придумал.

Последний раз редактировалось puporev; 11.03.2008 в 11:46.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка текста JRcoker Общие вопросы Delphi 5 31.07.2008 23:35
обработка текста pvleo Фриланс 4 14.07.2008 05:19
Обработка текста Absent Помощь студентам 2 20.05.2008 23:17
Обработка текста Absent Помощь студентам 1 10.05.2008 19:56
Обработка текста GAGARIN-NEW Общие вопросы Delphi 7 06.10.2007 15:25