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

В массиве наименьшей элемент поместить на первое место, наименьший из оставшихся – на последнее место, следующий по величине – на второе и тд.

26.03.2012, 17:19. Показов 3157. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
15 В массиве A(n) наименьшей элемент поместить на первое место, наимень-ший из оставшихся – на последнее место, следующий по величине–на второе и тд.
для конкретного n задача сделана, как в данном случае для 10, а в общем виде представить не могу
помогите

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
program smass;
uses crt;
const N = 10;
var a:Array[1..n] of integer;
    k:array[1..n] of integer;
    i,j,b, p: integer;
begin
          clrscr;
          randomize;
          writeln('исходный массив');
          for i:=1 to n do
             begin
               a[i]:=random(20);
               write(a[i]:3);
             end; writeln;
          for i := 1 to n-1 do
            for j := i+1 to N do
              if a[ i]>a[j] then
                begin
                  b:= a[ i];
                  a[ i] := a[j];
                  a[j] := b;
                end;
          writeln('отсортированный массив');
          for i:=1 to n do
            write(a[i]:3);
            writeln;
            
 
k[1]:=a[1];
k[n]:=a[2];
k[2]:=a[3];
k[n-1]:=a[4];
k[3]:=a[5];
k[n-2]:=a[6];
k[4]:=a[7];
k[n-3]:=a[8];
k[5]:=a[9];
k[n-4]:=a[10];
 
writeln('конечный массив');
for i:=1 to n do
write(k[i]:3);
readln end.
0
26.03.2012, 17:19
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2012, 17:19
Ответы с готовыми решениями:

В массиве наименьший элемент поместить на первое место, наименьший из оставшихся - на последнее место
В массиве A (n) наименьший элемент поместить на первое место, наименьший из оставшихся - на последнее место, следующий по величине - на...

В массиве наименьший элемент поместить на первое место, наименьший из оставшихся на последнее
Колокол. В массиве A(n) наименьший элемент поместить на первое место, наименьший из оставшихся на последние место, следующий по величине -...

В списке наименьший элемент поместить на первое место, наименьший из оставшихся - на последнее место, следующи
В списке наименьший элемент поместить на первое место, наименьший из оставшихся - на последнее место, следующий по величине - на второе ...

13
trainspotting
1086 / 486 / 384
Регистрация: 11.11.2010
Сообщений: 773
26.03.2012, 18:45 2
После сортировки:
Pascal
1
2
3
4
5
6
7
8
9
10
11
...
  i:=n-n mod 2;
  while i>=2 do
    begin
      b:=a[i];
      for j:=i to n-1 do
        a[j]:=a[j+1];
      a[n]:=b;
      dec(i,2);
    end;
...
0
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 14
26.03.2012, 19:31  [ТС] 3
Цитата Сообщение от versa4e Посмотреть сообщение
i:=n-n mod 2;
а вот здесь разве не 0 получится если мы из n вычтем n??
0
trainspotting
1086 / 486 / 384
Регистрация: 11.11.2010
Сообщений: 773
26.03.2012, 19:37 4
нет, потому что мы не n вычитаем, а результат операции n mod 2.
0
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 14
26.03.2012, 19:42  [ТС] 5
извините, пожалуйста.
Но у меня все равно не получается, не могли бы вы написать программу в полном виде?
заранее спасибо.
0
trainspotting
1086 / 486 / 384
Регистрация: 11.11.2010
Сообщений: 773
26.03.2012, 19:47 6
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const
  maxSize=100;
type
  intVector=array[1..maxSize] of integer;
var
  a:intVector;
  i,j,b,n:integer;
begin
  repeat
    write('Размер массива, не более ',maxSize,'=');
    readln(n);
  until n in [1..maxSize];
  randomize;
  writeln('Исходный массив');
  for i:=1 to n do
    begin
      a[i]:=random(20);
      write(a[i]:4);
    end;
  writeln;
  for i:=1 to n-1 do
    for j:=i+1 to n do
      if a[i]>a[j] then
        begin
          b:=a[i];
          a[i]:=a[j];
          a[j]:=b;
        end;
  writeln('Отсортированный массив');
  for i:=1 to n do
    write(a[i]:4);
  writeln;
  i:=n-n mod 2;
  while i>=2 do
    begin
      b:=a[i];
      for j:=i to n-1 do
        a[j]:=a[j+1];
      a[n]:=b;
      dec(i,2);
    end;
  writeln('Результирующий массив');
  for i:=1 to n do
    write(a[i]:4);
end.
1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 14
26.03.2012, 19:53  [ТС] 7
спасибо еще раз, вы меня очень выручили
0
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
26.03.2012, 20:32 8
Сортировка "горкой" с выбором минимального.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
uses crt;
var a:array[1..100] of integer;
    n,i,j,k,imn,p,x:integer;
begin
clrscr;
randomize;
write('Razmer massiva n=');
readln(n);
writeln('Ishodnyj:');
for i:=1 to n do
 begin
  a[i]:=random(20);
  write(a[i],' ');
 end;
writeln;
writeln;
if n mod 2=0 then k:=n div 2
else k:=n div 2+1;
for i:=1 to k do
 begin
  imn:=i;
  for j:=i+1 to n-i+1 do
  if a[j]<a[imn] then imn:=j;
  x:=a[imn];
  for p:=imn downto i+1 do
  a[p]:=a[p-1];
  a[i]:=x;
  imn:=i+1;
  for j:=i+1 to n-i+1 do
  if a[j]<a[imn] then imn:=j;
  x:=a[imn];
  for p:=imn to n-i do
  a[p]:=a[p+1];
  a[n-i+1]:=x;
 end;
writeln('Gorka:');
for i:=1 to n do
write(a[i],' ');
readln
end.
1
20 / 20 / 26
Регистрация: 11.08.2011
Сообщений: 82
26.03.2012, 22:06 9
versa4e, а к чему сортировка? чем она помогает в выполнении задачи? )))

Добавлено через 43 минуты
Puporev, у меня небольшой вопрос. В первом варианте преложенным versa4e из

массива 5 7 12 13 15

получается 5 12 13 15 7 , а если использовать ваш вариант то например из
массива :11 9 6 10
получается: 6 10 9 9

какой из вариантов правильный?
0
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
26.03.2012, 22:25 10
Из первого должно получиться
5 12 15 13 7
а сам-то не видишь?
0
20 / 20 / 26
Регистрация: 11.08.2011
Сообщений: 82
26.03.2012, 22:28 11
Puporev, ну так правильно. Я это прекрасно вижу.У меня с первым вариантом выходит без повторяющихся цифр. А когда ваш запустил, то цифры повторяются не важно какой массив. Поэтому и спросил какой из вариантов правильный?
0
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
26.03.2012, 22:32 12
Я не знаю как ты получил такое
Цитата Сообщение от Igoriok0511 Посмотреть сообщение
а если использовать ваш вариант то например из
массива :11 9 6 10
получается: 6 10 9 9
у меня ничего подобного нет, сколько ни запускал.
1
20 / 20 / 26
Регистрация: 11.08.2011
Сообщений: 82
26.03.2012, 22:49 13
сейчас проверю может ошибся когда код переписывал.

Добавлено через 11 минут
вроде всё исправил. Но повторяющиеся цифры остались. Ладно, в любом случае спасибо)
0
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
27.03.2012, 06:54 14
Цитата Сообщение от Igoriok0511 Посмотреть сообщение
может ошибся когда код переписывал.
Код не нужно переписывать, а нужно копировать в Блокнот и сохранять с расширением .pas
0
27.03.2012, 06:54
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2012, 06:54
Помогаю со студенческими работами здесь

В массиве A(n) наименьший элемент поместить на первое место
В массиве A(n) наименьший элемент поместить на первое место, наименьший из оставшихся – на последнее место, следующий по величине – на...

В каждой нечетной строке max элемент переставить на первое место, min элемент на последнее место
Задача такая: В каждой нечетной строке max элемент переставить на первое место, min элемент на последнее место. я чето тут делал, но...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Комментарии в JSON
hw_wired 10.02.2025
JSON - текстовый формат обмена данными, построенный на основе синтаксиса JavaScript. Этот формат отличается простотой, читаемостью и широкой поддержкой во всех современных языках программирования. . . .
Перезаписываем локальные файлы с помощью git pull
hw_wired 10.02.2025
Git pull - незаменимая команда для синхронизации локального репозитория с удаленным. При работе над проектом в команде разработчиков часто возникает необходимость получить актуальные изменения,. . .
Оператор --> в C++
hw_wired 10.02.2025
Оператор --> (называемый "spaceship operator" или оператор космического корабля) - важное нововведение в стандарте C++20, упрощающее реализацию операций сравнения в пользовательских типах данных. . . .
Отмена git add до коммита
hw_wired 10.02.2025
Git предлагает несколько методов для отмены индексации файлов перед созданием коммита. Разработчики часто сталкиваются с ситуацией, когда нужно убрать файлы из индекса, не теряя внесенные изменения в. . .
Типы MIME в JSON: что и когда использовать в REST API
hw_wired 10.02.2025
MIME-типы играют ключевую роль в современных веб-приложениях, особенно в контексте REST API и микросервисной архитектуры. Они определяют формат передаваемых данных между клиентом и сервером, что. . .
Переименование локальной ветки Git
hw_wired 10.02.2025
Git предлагает систему управления версиями, где ветки играют ключевую роль в организации разработки. Ветки позволяют изолировать изменения кода, экспериментировать с новыми функциями и поддерживать. . .
Удаление элемента из массива в JavaScript
bytestream 10.02.2025
В JavaScript массивы - это упорядоченные наборы данных, которые часто требуют модификации, включая удаление элементов. Самый распространенный метод для этой задачи - splice(). Этот метод позволяет не. . .
Что значит yield в Python
bytestream 10.02.2025
Ключевое слово yield в Python создает генераторную функцию - особый тип функции, которая возвращает итератор. В отличие от обычных функций, использующих return для возврата значения и завершения. . .
Чем отличаются git pull и git fetch
bytestream 10.02.2025
Git предоставляет множество команд для работы с удаленными репозиториями, среди которых особое место занимают git fetch и git pull. Эти команды помогают синхронизировать локальный репозиторий с. . .
Как удалить ветку Git в локальном и удаленном репозитории
bytestream 10.02.2025
Git предлагает развитую систему ветвления, позволяющую разработчикам создавать параллельные версии кода для различных задач. Ветка в Git - это легковесный указатель на определенный коммит, который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru