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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2009, 00:01   #1
JayDe
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 16
По умолчанию Помогите пожалуйста в Pascal (Алгоритм сортировки)

1. Задать два массива по 7 символов. Отсортировать оба массива: первый – по возрастанию методом выбора, второй – по убыванию методом пузырька. Выводить на экран каждый шаг сортировки.

2. Изменить программу так, чтобы задавались массивы произвольного размера. Ввод, вывод и сортировку массивов организовать в виде процедур.

P.S.И если можно в одной программе

Заранее спасибо! Буду Вам очень признателен если поможете!!!)))
JayDe вне форума Ответить с цитированием
Старый 29.01.2009, 00:13   #2
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

сортировка выбором
Код:
for i := 1 to n - 1 do
begin
  max := i;
  for j := i + 1 to n do
    if a[max] < a[j] then
      max := j;
  t := a[i];
  a[i] := a[max];
  a[max] := t;  
end;
метод пузырька
Код:
for i:=n-1 downto 1 do {n - размер массива arr[]}
    for j:=1 to i do
        if arr[j]<arr[j+1] then begin
            tmp:= arr[j];
            arr[j]:= arr[j+1];
            arr[j+1]:= tmp;
        end;
write('вывод значений arr[]: ');
for i:=1 to n do
    write(arr[i],' ');
writeln();
вступлю в команду разработчиков ПО на Delphi

Последний раз редактировалось maladoy; 29.01.2009 в 00:17.
maladoy вне форума Ответить с цитированием
Старый 29.01.2009, 00:40   #3
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Код:
program m1;
uses crt;
var ar:array[1..100] of integer;
     br:array[1..100]  of integer;
	  n1:integer;

f:boolean;
procedure vvod( var a:array of integer; n :integer);
var i:integer;
begin
for i :=1 to n do
 readln(a[i]);
end;
procedure vyvod( var b:array of integer; n :integer);
var j:integer;
begin
for j :=1 to n do
 readln(b[j]);
end;
procedure puzyr(var a:array of integer;n:integer);
var tmp:integer;
k,l:integer;
begin
for k:=n-1 downto 1 do {n - размер массива arr[]}
    for l:=1 to k do
        if a[l]<a[l+1] then begin
            tmp:= a[l];
            a[l]:= a[l+1];
            a[l+1]:= tmp;
        end;
for k:=1 to n do
 writeln(a[k]);
end;
procedure vybor(var b:array of integer;n:integer);
var i,j,t:integer;
    max:integer;
	begin
for i := 1 to n - 1 do
begin
  max := i;
  for j := i + 1 to n do
    if b[max] > b[j] then
      max := j;
  t := b[i];
  b[i] := b[max];
  b[max] := t;
end;
for i:=1 to n do
writeln(b[i]);
end;
begin
readln(n1);
writeln('-------------');
vvod(ar,n1);
writeln('-------------');
vvod(br,n1);
writeln('-------------');
puzyr(ar,n1);
writeln('-------------');
vybor(br,n1);
writeln('-------------');
 readln;
end.
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 29.01.2009, 19:13   #4
JayDe
Пользователь
 
Регистрация: 23.01.2009
Сообщений: 16
По умолчанию

Спасибо Вам большое!!!
JayDe вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить уравнение. pascal си неважно или просто алгоритм Mixasik Помощь студентам 5 10.11.2008 18:52
Помогите составить, пожалуйста, алгоритм задачки... Merciless Общие вопросы C/C++ 1 18.12.2007 20:47