Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Обработка данных литерного типа (http://www.tehnari.ru/f41/t49894/)

yulia90 04.04.2011 09:37

Обработка данных литерного типа
 
Здраствуйте,если есть у кого время,помогите сделать задание)



Для произвольного текста вывести слова в порядке невозрастания их длин.

заранее спасибо)

AlexZir 04.04.2011 11:02

1)
Цитата:

Сообщение от yulia90 (Сообщение 497607)
Для произвольного текста вывести слова в порядке невозрастания их длин

Это как? В порядке убывания, что ли?
2) Какой язык программирования нужно использовать?

Vladimir_S 04.04.2011 12:01

Цитата:

Сообщение от AlexZir (Сообщение 497649)
Это как? В порядке убывания, что ли?

Нет, тут всё верно: означает, что совпадающие по длинам слова не рассматривать, как ошибку, а просто располагать одно за другим.
Вообще-то нудная такая задачка: нужно вычленить из строки все слова командой copy (либо, как я это иногда делаю, "выбрасыванием" во вспомогательный файл командой writeln, чтобы каждое слово было на своей строке, затем считыванием командой readln), образовать из этих слов массив их длин, каковой упорядочить методом пузырька.
Довольно много работы.

yulia90 09.04.2011 11:31

В Pascal'e,мальчики помогите)

Vladimir_S 09.04.2011 12:11

Цитата:

Сообщение от yulia90 (Сообщение 500751)
В Pascal'e,мальчики помогите)

Да ладно, без проблем:
Код:

VAR
 S,Dummy:String;
 i,j,Nw,i1,i2:Byte;
 W:Array[1..128] of String;
BEGIN
 WriteLn('Enter the string:');
 ReadLn(S);
 i:=0;
 Nw:=0;
 Repeat
  Repeat
  Inc(i);
  Until S[i]<>' ';
  i1:=i;
  While (S[i]<>' ') and (i<Length(S)) do
  Inc(i);
  If i=Length(S) then i2:=i else i2:=i-1;
  Inc(Nw);
  W[Nw]:=Copy(S,i1,i2-i1+1);
 Until i=Length(S);

 For i:=1 to Nw-1 do
  For j:=1 to Nw-i do
  If Length(W[j])<Length(W[j+1]) then
    begin
    Dummy:=W[j];
    W[j]:=W[j+1];
    W[j+1]:=Dummy;
    end;

 For i:=1 to Nw-1 do Write(W[i]+' ');
 WriteLn(W[Nw]);

 ReadLn;
END.


yulia90 11.04.2011 15:43

Спасибо:*


Часовой пояс GMT +4, время: 21:38.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.