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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2008, 15:35   #1
Siluet
Форумчанин
 
Регистрация: 05.12.2008
Сообщений: 143
По умолчанию На печать выдать новую строку в которой все слова расположены в порядке возрастание длин слов

Ввести строку.На печать выдать новую строку в которой все слова расположены в порядке возрастание длин слов
Siluet вне форума Ответить с цитированием
Старый 13.12.2008, 00:12   #2
Викдон
Форумчанин
 
Аватар для Викдон
 
Регистрация: 11.11.2008
Сообщений: 161
По умолчанию

Код:
type Mas=array[1..25] of string;
var stroka,newstroka:string;
     MasSlov:Mas;
     flag_slov:byte;
     i:integer;

Procedure Slova(var MasSlov:Mas; stroka:string; var flag: byte);
var newstroka,slovo:string;
    i,k:integer;
begin
k:=0;
slovo:='';
   for i:=1 to length(stroka) do
       begin
          if (stroka[i]<>' ') and (stroka[i-1]=' ') then
            begin
              while (stroka[i]<>' ')  and (stroka[i]<>#0) do
               begin
                slovo:=slovo+stroka[i];
                  if i=length(stroka) then
                   break;
                inc(i);
               end;
              inc(k);
              MasSlov[k]:=slovo;
              slovo:='';
             end;
       end;

 flag:=k;
end;

Function Sortirovka(var MasSlov:Mas; flag:integer):string;
var i,nomer: integer;
    minSlovo,slovo:string;
begin
 nomer:=1;
 minslovo:=MasSlov[1];
  for i:=1 to flag do
   begin
     slovo:=MasSlov[i];
       if (length(slovo)< length(minslovo)) and (slovo<>'') then
         begin
          minslovo:=slovo;
          nomer:=i;
         end;
   end;
   Sortirovka:=minslovo;
   MasSlov[nomer]:='';


end;




begin
write('Введите строку');
readln(stroka);
 Slova(MasSlov,stroka,flag_slov);
    for i:=1 to flag_slov do
      newstroka:=newstroka+Sortirovka(MasSlov,flag_slov)+' ';

write('newstroka= ',newstroka);
readln;
end.
Викдон вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
составить программу для вычисления значения функции и результаты выдать на печать. Бейсик SvetlanaFF Помощь студентам 13 28.10.2018 19:24
Упорядочить слова в алфавитном порядке sasha45 Общие вопросы C/C++ 36 20.06.2011 11:03
Составить программу для вычисления значения функции и результаты выдать на печать Pleasant_girl Помощь студентам 8 22.12.2009 22:57
Во вводимом тексте переписать все слова в обратном порядке. menlo Помощь студентам 5 17.11.2007 10:18