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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2012, 14:06   #1
гоша37
 
Регистрация: 06.11.2012
Сообщений: 8
По умолчанию отсортировать получившийся массив от 1 до 1000

Код:
var a:array [1..16] of integer;
    i,min,imin,k:integer;
begin
writeln;
for i:=1 to 16 do
    begin
    a[i]:=random(100)-10;
    write(a[i]:5);
end;
min:=a[1];
for i:=1 to 16 do
    begin
     if a[i]<min then
      begin
    min:=a[i];
imin:=i;
end;
end;
a[imin]:=1000;
writeln;
for i:=1 to 16 do
    write(a[i]:5);
    writeln;
end.
текст задачи:Задать массив А[1..16] с помощью генератора случайных чисел положительными и отрицательными числами. Определить минимальный элемент, заменить этот элемент элемент числом 1000.

теперь надо получившийся массив отсортировать от 1 до 1000

Последний раз редактировалось гоша37; 14.11.2012 в 14:35. Причина: недостаточное пояснение
гоша37 вне форума Ответить с цитированием
Старый 14.11.2012, 14:18   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

А какое отношение Ваш код имеет к сортировке?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 14.11.2012, 14:55   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вау. я тоже не могу понять, что означает "отсортировать от 1 до 1000" ?!
у вас в массиве 16 чисел (15 случайных и одно число равное 1000).
что нужно сортировать?!

Гоша, допустим, есть такой массив (для простоты я беру не 16 элементов, как у Вас в задаче, а только 8):
12 9 -5 27 -7 -2 5 3
после замены минимального элемента на 1000 получаем:
12 9 -5 27 1000 -2 5 3

теперь вопрос - как будет выглядеть массив после сортировки? (при чём здесь отсортировать от 1 (от какой единицы?!) и до 1000 почему до 1000, как тысяча связана с сортировкой?

Последний раз редактировалось Stilet; 14.11.2012 в 23:39.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.11.2012, 23:42   #4
гоша37
 
Регистрация: 06.11.2012
Сообщений: 8
По умолчанию

ну вот например ваш массив 12 9 -5 27 1000 -2 5 3
после сортировки он должен выглядеть так -5 -2 3 5 9 12 27 1000
методом пузырька вроде называеться, ну чтоб по возрастанию числа шли
гоша37 вне форума Ответить с цитированием
Старый 14.11.2012, 23:51   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
методом пузырька вроде называеться
Правильно )
Ну а почему примеры пузырьковой сортировки не поищещь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.11.2012, 09:42   #6
гоша37
 
Регистрация: 06.11.2012
Сообщений: 8
По умолчанию

я просто в паскале непонимаю ничиго. искал примеры, нашел. подставлял вроде ну под свою задачу буквы, данные менял. ничиго неполучаеться
гоша37 вне форума Ответить с цитированием
Старый 15.11.2012, 10:31   #7
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
массив отсортировать от 1 до 1000
имхо сортировать тут надо от 1 элемента до элемента со значением 1000;
то есть по коду ТС от 1 до imin-1(хотя черт его знает включать надо 1000 в сортировку или нет, но скорее всего нет, так как слово "включительно" отсутствует в формулировке задачи)
Цитата:
под свою задачу буквы, данные менял
мдя......
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 15.11.2012, 11:29   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Mad_Cat, я же и задавал вопросы автору темы, в надежде услышать от него объяснение, зачем в задаче требуется сортировка от 1 до 1000! Так и не дождался. На самом деле, я тоже предполагал, что что требуется именно отсортировать массив от 1-го элемента до того элемента, который был минимальным (который мы заменили 1000).
ну тогда, для моего примера:
12 9 -5 27 -7 -2 5 3
12 9 -5 27 1000 -2 5 3

должно быть результатом:
-5 9 12 27 1000 -2 5 3

А включать 1000 или нет - в данном случае не принципиально, т.к. в массиве не может быть чисел больше 89 (смотри заполнение массива у TC), тогда 1000 всегда будет самым большим значением и после сортировки по возрастанию 1000 будет в конце, т.е. останется на своём месте.

ладно.
Гоша, попробуйте такой код:
Код:
var a:array [1..16] of integer;
    i, j, min,imin,k:integer;
begin
 ....

  a[imin]:=1000;
  writeln;
  for i:=1 to 16 do
     write(a[i]:5);
  writeln;

   {сортируем массив от 1-го элемента до imin]
  for i:=1 to imin-2 do
    for j:=i+1 to imin-1 do
       if a[i]<[a[j] then begin
          k := a[i];
          a[i] := a[j]; 
          a[j] := k
       end;

  WriteLn('Массив после сортировки:');
  for i:=1 to 16 do
     write(a[i]:5);
  writeln;

end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив из N целых чисел. Получить из него массив чисел по модулю меньших 10 и отсортировать его(язык си++) mitja-zakelidis Помощь студентам 2 15.03.2012 03:10
отсортировать одномерный массив 0kcanka Помощь студентам 1 11.05.2011 10:35
отсортировать массив слиянием dimulka2010 Помощь студентам 3 28.03.2010 17:16
Отсортировать массив по убыванию в С++ sershok Помощь студентам 5 16.02.2009 00:31