IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Строковый тип данных
Lesnik
сообщение 18.12.2006 20:25
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Вводится строка из слов, разделённых пробелами или запятыми.
Разбить строку на слова и вывести их на экран в алфовитном порядке.

Просмотрел в FAQ методы сортировок и не совсем понял какая нужна. Надо делать без функций и процедур. Программа должна быть без лишних наворотов.

Тому, кто поможет, скажу ОГРОМНОЕ спасибо и буду ставить + в репутацию до конца недели smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lesnik
сообщение 20.12.2006 0:13
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Вот, что получилось



Код

program COK;
uses crt;
const

   limits = [#0..#32,' ',','];
type

   TWords = array[1..40] of string;

var
   text : string;
   words : TWords;
   t,i,j,back,n : byte;
begin
clrscr;
   readln(text);
   i := 1;
   n := 0;
   while(i<=length(text)) do begin
      while(i<=length(text)) and (text[i] in limits) do inc(i);
      if i<=length(text) then begin
         back := i;
         while(i<=length(text)) and not(text[i] in limits) do inc(i);
         inc(n);
         words[n] := copy(text, back, i-back);
      end;
   end;


Begin
  For i := 1 To n Do
    For j := n DownTo i+1 Do
      If words[Pred(j)] > words[j] Then Begin { < }
        T := words[Pred(j)];
        words[Pred(j)] := words[j];
        words[j] := T
      End;
End;

   For i:=1 to n do
     Writeln(words[i]);

end.

T := words[Pred(j)]; - тут выдаёт ошибку

Сообщение отредактировано: Lesnik - 20.12.2006 0:13
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Lesnik   Строковый тип данных   18.12.2006 20:25
мисс_граффити   ну, допустим, + ты ставить не сможешь при всем жел...   18.12.2006 22:21
Lesnik   ну, допустим, + ты ставить не сможешь при всем же...   18.12.2006 22:32
мисс_граффити   ну да. вставляй. и допиши ввод строки и вывод масс...   19.12.2006 0:43
Lesnik   ну да. вставляй. и допиши ввод строки и вывод мас...   19.12.2006 0:57
мисс_граффити   хорошо, следующее задание: сделать, чтобы это рабо...   19.12.2006 1:13
Lesnik   хорошо, следующее задание: сделать, чтобы это раб...   19.12.2006 9:33
Malice   Да нет, все должно работать. Может Alt-F5 надо или...   19.12.2006 10:08
Lesnik   Да нет, все должно работать. Может Alt-F5 надо ил...   19.12.2006 11:25
volvo   Правильно... Ты печатаешь 40 строк (большинство из...   19.12.2006 11:40
Lesnik   Для того, чтобы отсортировать слова - просто ПЕ...   19.12.2006 12:12
volvo   Нет... Перед For i:=1 to n do Writeln(word...   19.12.2006 12:14
Lesnik   Такс если я выбрал этот метод сортировки Type a...   19.12.2006 23:10
Lesnik   Вот, что получилось program COK; uses crt; con...   20.12.2006 0:13
Malice   потому что t-byte, а words[i] - string. Сделай t...   20.12.2006 0:15
Lesnik   потому что t-byte, а words[i] - string. Сделай ...   20.12.2006 0:21


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 21:15
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"