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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2013, 21:06   #1
Juli Warner
 
Регистрация: 20.06.2013
Сообщений: 4
Сообщение Сортировка массива

Help me please)
Как
-сортировку оформить в виде процедуры
-сумму четных кодов оформить в виде функции
Код:
Program Massiv;
Uses Crt;
var a:array [1..100]of char;
i,n,j,s:integer;
buf,x:char;
Begin
ClrScr;
WriteLn('Vvedite razmer massiva');
ReadLn(n);
WriteLn('Vvedite elementy massiva');
for i:=1 to n do
ReadLn(a[i]);
WriteLn('Massiv do sortirovki');
for i:=1 to n do
Write(a[i],'');
WriteLn;
for i:=1 to n-1 do begin
for j:=i+1 to n do
if a[i]>a[j] then begin x:=a[j];
a[j]:=a[i];
a[i]:=x;  end;
end;
WriteLn('Uporyadochenniy massiv:');
for i:=1 to n do
begin
write(a[i]:2);
if ord(a[i]) mod 2 =0 then s:=s+ord(a[i]);write(ord(a[i]):4);
end;
WriteLn;
Write('Summa chetnih kodov=',s);
ReadLn;
End.
Juli Warner вне форума Ответить с цитированием
Старый 25.06.2013, 21:54   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Например так:
Код:
Program Massiv;
Uses Crt;
Type TMas = array [1..100]of char;

procedure Sortmas(var mas : TMas; n : integer);
var x : char;
   i, j : integer;
begin
  for i:=1 to n-1 do begin
    for j:=i+1 to n do
       if mas[i] > mas[j] then begin
          x := mas[j];
         mas[j] := mas[i];
         mas[i] := x;
       end;
  end;
end;

function SumPar(mas : TMas; n : integer) : integer;
 var i, s : integer;
begin
   s := 0;
   for i:=1 to n do begin
      if ((ord(mas[i]) mod 2) = 0) then
         s := s + ord(mas[i]);
   SumPar := s;
end;

var a:TMas;
...
begin
   ...
WriteLn('Massiv do sortirovki');
for i:=1 to n do
Write(a[i],'');
WriteLn;
Sortmas(a, n);
...
Write('Summa chetnih kodov=', SumPar(mas, n));
...
End.
Отдельные места пропущены, но думаю, что понять можно
Думаю, что полезно узнать, почему при описании одного из параметров процедуры использовано волшебное слово var ...


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] druger Помощь студентам 0 20.04.2012 15:49
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
сортировка массива mego4el Помощь студентам 7 01.03.2011 21:30
Сортировка массива. n0rma1 Помощь студентам 9 25.04.2010 17:24
с++ сортировка массива ioda1986 Общие вопросы C/C++ 13 07.03.2010 19:32