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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2014, 21:56   #1
tweeker
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 11
По умолчанию Массив

Добрый вечер.
Помогите пожалуйста
Нужно-Отсортировать массив следующим образом: найти в массиве минимальный элемент и обменять его с первым. Начиная со второго элемента найти в массиве минимальный элемент и обменять его со вторым.
Заранее спасибо
tweeker вне форума Ответить с цитированием
Старый 11.02.2014, 22:19   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,639
По умолчанию

Примерно так.
Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int *m;
int i, j;
int min_index;
int temp;
int n;
int min;

scanf("%d", &n);
srand(time(0));
m = new int[n];

for(i=0;i<n;i++)
m[i] = rand()%9;

for(i=0;i<n;i++)
printf("%d ", m[i]);
printf("\n");

for(i=0;i<n;i++)
{
for(min= m[i],min_index=i, j=i+1; j<n;j++)
{
if (m[j] < min)
min = m[j], min_index=j;
}
temp= m[i];
m[i] = m[min_index];
m[min_index]=temp;
}


for(i=0;i<n;i++)
printf("%d ", m[i]);

delete [] m;
return 0;
}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 11.02.2014, 22:33   #3
tweeker
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 11
По умолчанию

Спасибо конечно,но мне на паскале надо)
tweeker вне форума Ответить с цитированием
Старый 11.02.2014, 22:42   #4
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,639
По умолчанию

Не понял почему тема была перенесена в раздел паскаль

решение на паскале
Код:
uses math;

var
i:integer;
j:integer;
k:integer;
min_index:integer;
temp:integer;
n:integer;
min:integer;
exarray :array[1..10] of integer;

begin

randomize;

for i:=low(exarray) to high (exarray) do
exarray[i] := ceil(randomrange(0, 9));


for i:=low(exarray) to high (exarray) do
write(exarray[i], ' ' );

writeln('');

for i := low(exarray) to high (exarray) do
begin

min := exarray[i];
min_index := i;

for j :=i + 1 to high (exarray) do
begin
if exarray[j] < min then
begin
min := exarray[j];
min_index := j;
end;
end;

temp := exarray[i];
exarray[i] := exarray[min_index];
exarray[min_index] := temp;


end;


for i:=low(exarray) to high (exarray) do
write(exarray[i], ' ' );

end.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Запись координат в массив в реал тайм, Как записать координаты в массив Dark19 Visual C++ 2 21.06.2011 18:45
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58