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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2015, 12:33   #1
Ostapov
Пользователь
 
Регистрация: 30.09.2015
Сообщений: 22
По умолчанию как переделать, с использованием процедур?

Код:
var
  s: array[1..10] of string;
  i, j: integer;
  a, b: string;

begin
  writeln('введите строку');
  readln(a);
  j := 1;
  for i := 1 to length(a) do
  begin
    b := a[i];
    if b = ' ' then 
      j := j + 1
    else s[j] := s[j] + b;
  end;
  
  for i := 1 to j do
    for j := 1 to j do
      if Length(s[i]) < Length(s[j]) then
      begin
        a := s[i];
        s[i] := s[j];
        s[j] := a;
      end;
  
  writeln('-----------');
  for i := 1 to j do
    write(s[i], ' ');
end.
Необходимо переделать, что бы были процедуры.
Программа сортирует слова в строке по возрастанию их длины.
Ostapov вне форума Ответить с цитированием
Старый 23.11.2015, 12:36   #2
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Код:
program xxx;

procedure Sort;
var
  s: array[1..10] of string;
  i, j: integer;
  a, b: string;

begin
  writeln('введите строку');
  readln(a);
  j := 1;
  for i := 1 to length(a) do
  begin
    b := a[i];
    if b = ' ' then 
      j := j + 1
    else s[j] := s[j] + b;
  end;
  
  for i := 1 to j do
    for j := 1 to j do
      if Length(s[i]) < Length(s[j]) then
      begin
        a := s[i];
        s[i] := s[j];
        s[j] := a;
      end;
  
  writeln('-----------');
  for i := 1 to j do
    write(s[i], ' ');
end;

begin
   Sort;
end.
какой вопрос, такой ответ
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 23.11.2015, 12:40   #3
Ostapov
Пользователь
 
Регистрация: 30.09.2015
Сообщений: 22
По умолчанию

аххах, ну это конечно круто), но мне бы по отдельности, процедуру сортировки и ввода
Ostapov вне форума Ответить с цитированием
Старый 23.11.2015, 18:09   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Вот так
Код:
type tArr=array[1..10] of string;

function fInput:tArr;
begin
 // ввод
end;
procedure pSort(var ar:tArr);
begin
 // сортировка
end;

var  
 s: tArr;
 i:Integer;
begin
  s:=fInput;
  pSort(s);
  writeln('-----------');
  for i := 1 to 10 do
    write(s[i], ' ');
end.
type_Oleg вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация программ с использованием процедур .использованием параметров-значений и параметров переменных Фрейтор 40-500 Помощь студентам 0 02.11.2012 21:58
Организация программ с использованием процедур .использованием параметров-значений и параметров переменных Фрейтор 40-500 Помощь студентам 6 02.11.2012 21:46
программирование с использованием процедур Forest21 Помощь студентам 1 16.04.2012 19:33
переделать задачу с использованием процедур или функций mashat99 Помощь студентам 3 08.04.2011 18:24
Нужно переделать прогу, чтобы была с использованием модуля, а как? koysara Помощь студентам 1 13.10.2010 19:26