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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2010, 22:48   #1
Makino
 
Регистрация: 26.11.2010
Сообщений: 4
По умолчанию разработка структурированных программ с использованием процедур в Delphy

Помогите, пожалуйста. Вот условие задачи:
"Ввести произвольную последовательность чисел. Упорядочить с помощью процедуры последовательность в порядке возраствния. Вывести результат упорядочивания и номера чисел в исходной последовательности."
Я упорядочила, а вывести номера чисел не получается!
Вот, что у меня получилось:

uses
SysUtils;

type
s=array[1..10] of integer;

procedure Sort(var a:s; var prom:integer);
var i,j:integer;
begin
FOR i:=1 TO 10 DO
FOR j:=i + 1 TO 10 DO
if a[j]<a[i] then
begin
prom:=a[i];
a[i]:=a[j];
a[j]:=prom;
end;
end;
var
aa:s;
i,k,n:integer;
ch:char;

begin
{ TODO -oUser -cConsole Main : Insert code here }
repeat
writeln('vvedit 10 chisel massiva : ');

for i:=1 to 10 do
read(aa[i]);
aa[i] := i;
writeln('massiv s do perestanovlennia : ');
i:=1;
while i<=10 do
begin
k:=1;
while (k<=5) and (i<=10) do
begin
write(aa[i]:5);
i:=i+1;
k:=k+1;
end;
writeln;
end;

begin
Sort(aa,i);
writeln('massiv posle perestanovki : ');
for i:=1 to 10 do
write(aa[i],' ');
readln;
end;
readln;
writeln('Budete ewe vvodit posledovatelnost? ');
readln(Ch);
until
Ch='n';
readln;
end.
Makino вне форума Ответить с цитированием
Старый 27.11.2010, 08:50   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const n=5;
type
s=array[1..n] of integer;
ss=array[1..n] of byte;
procedure Sort(var a:s;var b:ss);
var i,j:byte;
    prom:integer;
    buf:byte;
begin
FOR i:=1 TO n-1 DO
FOR j:=i + 1 TO n DO
if a[j]<a[i] then
 begin
  prom:=a[i];
  a[i]:=a[j];
  a[j]:=prom;//сортируем массив значений
  buf:=b[i];
  b[i]:=b[j];//одновременно массив индексов
  b[j]:=buf;
 end;
end;
var aa:s;
    bb:ss;
    i:byte;
    ch:char;
begin
repeat
writeln('Vvedite ',n,' chistl massiva');
for i:=1 to n do
 begin
  read(aa[i]);
  bb[i] := i;
 end;
writeln('massiv s do perestanovlennia : ');
write('nom:');
for i:=1 to n do
write(bb[i]:5);
writeln;
write('znc:');
for i:=1 to n do
write(aa[i]:5);
writeln;
writeln;
Sort(aa,bb);
writeln('massiv posle perestanovki : ');
write('nom:');
for i:=1 to n do
write(bb[i]:5);
writeln;
write('znc:');
for i:=1 to n do
write(aa[i]:5);
writeln;
writeln;
readln;
writeln('Budete ewe vvodit posledovatelnost? ');
readln(Ch);
if ch='n' then exit;
until Ch='n';
end.
puporev вне форума Ответить с цитированием
Старый 27.11.2010, 16:29   #3
Makino
 
Регистрация: 26.11.2010
Сообщений: 4
Радость

Огромное спасибо
Makino вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка программ с использованием функций. Табулирование функции одного и двух переменных кася Паскаль, Turbo Pascal, PascalABC.NET 5 07.05.2008 20:11
Организация программ с использованием процедур....Pascal flexo_77 Помощь студентам 1 19.12.2007 14:06
Разработка программ с использованием процедур(Unit) FeT Помощь студентам 7 04.12.2007 17:49
Разработка программ с использованием процедур(Unit) FeT Помощь студентам 3 02.12.2007 20:42