Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 16.03.2017, 20:58   #1
Korban
Пользователь
 
Регистрация: 02.11.2016
Сообщений: 20
Репутация: 10
По умолчанию Создать массив, в котором n элементов. Первые k элементов упорядочить по возрастанию, последние по убыванию.

Создать массив, в котором n элементов. Первые k элементов упорядочить по возрастанию, последние по убыванию.
Korban вне форума   Ответить с цитированием
Старый 16.03.2017, 23:49   #2
SASFM
Форумчанин
 
Аватар для SASFM
 
Регистрация: 26.03.2015
Сообщений: 161
Репутация: 10
По умолчанию

Цитата:
Первые k элементов упорядочить по возрастанию, последние по убыванию.
К последних элементов или остальные элементы?

например при N=9 и K=3 какой должен быть результат?

1 98 5 74 2 3 7 85 95

так:
1) 1 5 98 95 85 74 7 3 2
или так:
2) 1 5 98 74 2 3 95 85 7

Вот решения для 1 вариант
Код:

var j,i,k,n:integer;
    m:array[1..1000] of integer;
begin
  read(n,k);
  //Ввод элементов массива
  for i:=1 to n do
    read(m[i]);
    //Сортировка по возрастанию
  for i:=1 to k do
    for j:=i to k do      
      if m[j]<m[i] then swap(m[i],m[j]);
    //Сортировка по убыванию
  for i:=k+1 to n do
    for j:=i to n do      
      if m[j]>m[i] then swap(m[i],m[j]);
    //Вывод элементов массива
  for i:=1 to n do
  print(m[i]);
end.

А это для 2 вариант:

Код:

var j,i,k,n:integer;
    m:array[1..1000] of integer;
begin
  read(n,k);
  //Ввод элементов массива
  for i:=1 to n do
    read(m[i]);
    //Сортировка по возрастанию
  for i:=1 to k do
    for j:=i to k do  
    begin
      if m[j]<m[i] then swap(m[i],m[j]);
    //Сортировка по убыванию       
      if m[n-k+j]>m[n-k+i] then 
      swap(m[n-k+i],m[n-k+j]);
    end;
    //Вывод элементов массива
  for i:=1 to n do
  print(m[i]);
end.

__________________
Моя родина там, где мой компьютер

Последний раз редактировалось SASFM; 17.03.2017 в 00:10.
SASFM вне форума   Ответить с цитированием
Старый 18.03.2017, 20:05   #3
Korban
Пользователь
 
Регистрация: 02.11.2016
Сообщений: 20
Репутация: 10
По умолчанию

А как переделать под сортировку методом Шелла?
Korban вне форума   Ответить с цитированием
Старый 19.03.2017, 00:15   #4
Mad_Cat
Made In USSR!
Профессионал
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,647
Репутация: 1218

icq: 723-321
skype: mad_cat1982
По умолчанию

Цитата:
Сообщение от Korban Посмотреть сообщение
А как переделать под сортировку методом Шелла?
Вот это
Код:

 for j:=i to k do      
      if m[j]<m[i] then swap(m[i],m[j]);

Заменить на метод Шелла
__________________
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка четных элементов массива по возрастанию, а нечетных-по убыванию - C (СИ) DimaIT Общие вопросы C/C++ 13 13.11.2015 23:22
Упорядочить по возрастанию сумм элементов строк Evgenii_95 Паскаль 1 03.06.2015 10:23
Упорядочить ее столбцы по убыванию произведений их элементов. Urbic Помощь студентам 3 11.04.2013 10:01
Упорядочить массив по возрастанию и убыванию методом выбора. Агварес Помощь студентам 2 17.01.2012 12:12
Упорядочить матрицу по убыванию модулей элементов x3 aka a-droo Microsoft Office Excel 2 12.12.2011 01:21




16:46.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru