0 / 0 / 0
Регистрация: 24.11.2008
Сообщений: 6
1

Сортировка методом выбора

26.11.2008, 13:45. Показов 12924. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет.Помогите понять что не так.
Задача:Напишите программу сортировки элементов массива A[N] по возрастанию методом выбора.
Вот что получилось,но не работает
Код
uses crt;
var  A:array[1..100] of integer;     
N,i,m,k,x : integer;
begin
clrscr;
write('количество элементов массива ');          
read(N);
for i:=1 to n do read(A[i]);
for k:=n downto 2 do 
begin
m:=1; { m - место max }
for i:=2 to k do if A[i]>A[m] then m:=i;
x:=A[m]; A[m]:=A[k]; A[k]:=x;
end;
for i:=1 to n do write(A[i],' '); 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2008, 13:45
Ответы с готовыми решениями:

Сортировка методом выбора по убыванию
Помогите решить!!! Очень надо. Методом выбора по убыванию отсортировать только те элементы,...

Сортировка методом прямого выбора
Дописать программу Сортировка методом прямого выбора const m=50; var A: array of integer; ...

Сортировка методом выбора и вставки
Помогите пожалуйста решить задачу:Определить массив из 50 вещественных чисел: x = Cos( i/10), i= 1,...

Сортировка методом линейного выбора с подсчетом
Необходимо написать процедуру сортировки методом линейного выбора с подсчетом.

2
Администратор
83357 / 51935 / 244
Регистрация: 10.04.2006
Сообщений: 13,417
26.11.2008, 13:49 2
Pascal FAQ
0
0 / 0 / 0
Регистрация: 24.11.2008
Сообщений: 6
26.11.2008, 18:39  [ТС] 3
Запутался с переменными и выводом результата
Код
type
itp = Longint;
mas = array [0..100] of itp;
Func = procedure ( var A : mas);
 var
 n:longint;

 procedure SelectSort( var A : mas;);
var
  i, j, m : Integer;
 x : itp;
 begin
 for i:= 1 to n-1 do
 begin
 m:=i;
 for j:=i+1 to n do
 if A[j] < A[m] then
 m:=j;
 x:=A[i];
 A[i]:=A[m];
 A[m]:=x;
 end;
 end;

 begin
 write ('n=');
 read(n);
SelectSort(n);
writeln(x);
end.
Добавлено через 3 часа 35 минут 26 секунд
Всё,сдеал вроде
Код
uses crt;
	const
	SIZE=5;
	var
	a : array [1..SIZE] of integer;
	i : integer;
	min: integer;
        j: integer;
	buf: integer;
	k: integer;
begin
clrscr;
	writeln (' Sortirovka massiva ');
	writeln('Vvedite', SIZE:3,' 4isel  ');
	for k:=1 to SIZE do read(a[k]);
	writeln (' sortirovka');
	for i:=1 to SIZE-1 do
		begin
			min:=i;
			for j:=i+1 to SIZE do
			begin
				if a[ j ] < a[min] then min:= j ;
				buf:=a [ i ];
				a [ i ] :=a [min];
				a [ min ]:=buf;

				for k := 1 to SIZE do write (a [k], ' ');
				writeln;
			end;
		end;
	writeln ( 'massiv otsortirovan ') ;
        readkey;
end.
0
26.11.2008, 18:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2008, 18:39
Помогаю со студенческими работами здесь

Сортировка по возрастанию методом выбора минимума
Помогите сделать. Сортировка по возрастанию методом выбора минимума. Сортируемый фрагмент...

Сортировка побочной диагонали методом выбора.
напишите прогу,если можно с комментариями.просто я пропустила разбор таких прог. Квадратный массив...

Сортировка модифицированным методом простого выбора
Дана последовательность a1,a2,...,a15. Требуется упорядочить ее по возрастанию абсолютных значений...

сортировка последовательностипо возрастанию(убыванию) методом простого выбора.
записать программу,выполняющую следующие операции: 1.ввод с клавиатуры числовой последовательности...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru