Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Pascal Печатает текст из первых букв всех слов списка https://www.cyberforum.ru/ pascal/ thread2235907.html
Помогите, пожалуйста, с решением вот такой задачи. Тема:Ссылки, списки, динамические структуры данных Задание: Печатает текст из первых букв всех слов списка. ОБРАЗЕЦ program hhh; type t=^tabl ; tabl=record
Pascal Количество отрицательных элементов для каждого столбца матрицы
Подсчитать количество отрицательных элементов для каждого столбца двумерных таблиц A(m,n) и B(k,t)
Pascal Обьясните какими строчками и как программа определяет симметричное ли слово https://www.cyberforum.ru/ pascal/ thread2235693.html
var s,s1,s2,sim:string; i,k,mx:byte; begin s:='парап дуркруд капр ghhg'; s:=s+' '; mx:=0;k:=0; while pos(' ',s)>0 do begin s1:=copy(s,1,pos(' ',s)-1); s2:='';
Pascal В массиве А(60) найти наибольший элемент и поменять его местами с первым элементом массива https://www.cyberforum.ru/ pascal/ thread2235617.html
здравствуйте возникла проблема с программой по процедурам в Pascal. вот задание: В массиве А(60) найти наибольший элемент и поменять его местами с первым элементом массива, в массиве В(60) найти наименьший элемент и поменять его местами с последним элементом. Программа: program lab7; type matr=array of integer; var A,B:matr; max1,i,m,n:integer; procedure max(z:matr; l:integer;...
Pascal Разбить число на попарно разные слагаемые
Доброго времени суток! Не могли бы вы пожалуйста объяснить как работает данная программа. Не совсем понимаю как работает процедура. const m=1000; var a: arrayof integer; k,n: integer; procedure zz(j,n: integer); var i: integer;
Pascal Решение задачи с использованием функции https://www.cyberforum.ru/ pascal/ thread2235569.html
С некоторого города одновременно вылетают два самолёта, один в город А , другой в город В. Определить в какой город самолёт долетит быстрее, если они движутся прямолинейно и их скорость одинакова. Координаты городов даны. Не могли бы вы пожалуйста помочь сделать её с использованием функции var a,b,x,y,c,d, r1,r2 :real; begin writeln('Введите координаты города, из которого вылетает...
Pascal Определить, можно ли вторую строку получить путем перестановки символов первой строки Даны два символьных строки, содержащие только символы латинского алфавита. Создать программу, которая определит, можно ли вторую строчку получить путем перестановки символов первой строки. В результате программа должна вывести "Yes" или "No". https://www.cyberforum.ru/ pascal/ thread2235362.html Составить программу, которая посчитает количество слов student в данном предложении Pascal
Составить программу, которая посчитает количество слов student в данном предложении.
Pascal Функция (теория) Я знаю что функция возвращает типы real, integer а вот какие типы функция не возвращает? https://www.cyberforum.ru/ pascal/ thread2235350.html Pascal Структура: Почему процедура nowYear не выводит данные о людях, у которых год 2018? Здравствуйте. Почему процедура nowYear не выводит данные о людях, у которых год 2018? program lab7; type Workers = record Surname: String; Initials: String; Status: String; https://www.cyberforum.ru/ pascal/ thread2235148.html
Pascal Задана матрица целых чисел определить максимальный элемент этой матрицы и записать нули в строку в которой он находится
В этой программе в том случае если максимальный элемент повторяется, она меняет на нули только одну строку, а нужно чтобы менялись все строки, в которых содержится максимальный элемент. Как это реализовать? Заранее спасибо за помощь! program z; uses crt; var i,j,max,n,k:integer; a:array of integer; begin write('Размерность матрицы: '); readln(n); clrscr;
Pascal Сжать типизированный файл, удалив четные компоненты. https://www.cyberforum.ru/ pascal/ thread2234417.html
Заполнить типизированный файл каким-либо количеством чисел и удалить из него все четные. (Без использования массивов)
442 / 371 / 132
Регистрация: 09.09.2011
Сообщений: 1,339
27.04.2018, 00:20 0

Быстрая сортировка: отсортировать по возрастанию отдельно элементы первой и второй половин массива - Pascal - Ответ 12343530

27.04.2018, 00:20. Показов 4102. Ответов 4
Метки (Все метки)

Ответ

например как-то так:
Кликните здесь для просмотра всего текста
Delphi
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
program sorting_array_by_halves;
{задача https://www.cyberforum.ru/pascal/thread2235948.html
по условию:
Массив содержит четное количество элементов. Напишите программу,
которая сортирует по возрастанию отдельно элементы первой и второй
половин массива. Каждый элемент должен остаться в «своей» половине.
Используйте алгоритм быстрой сортировки}
 
{$mode objfpc}{$H+}
 
uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes, sysutils, math;
{quick sort from wikipedia }   {по возрастанию}
 
procedure qsort(var A: array of Integer);
 
    procedure sort(l, r: integer);
    var
      i, j, x, y: integer;
    begin
      i := l;
      j := r;
      x := A[(l + r) div 2];
      repeat
        while A[i] < x do
          Inc(i);
        while x < A[j] do
          Dec(j);
        if not (i > j) then
        begin
          y := A[i];
          A[i] := A[j];
          A[j] := y;
          Inc(i);
          Dec(j);
        end;
      until i > j;
      if l < j then
        sort(l, j);
      if i < r then
        sort(i, r);
    end;
 
begin
    sort(0, High(A));
end;
 
 
var
  arr: array of integer;
  n: integer; //size of array
  value, i: integer;
begin
  {подбираем и заполняем масивв случайными числами}
  Randomize;
  n:= RandomRange(11, 20); // размер случаен от 11 до 20
  if odd(n) then dec(n);   //если вдруг n не четное то уменьшем его на 1
  SetLength(arr, n);       //создаем массив
  //заполняем массив
  for i:=0 to pred(n) do
      arr[i]:= RandomRange(-10, 10);
  //выводим массив
  Write('Arr:        ');
  for value in arr do
      write(value:4);
  WriteLn();
 
   //сортируем по половинам:
   qsort(arr[0..pred(Length(arr) div 2)]);
   qsort(arr[Length(arr) div 2..pred(Length(arr))]);
 
 
  //выводим массив после сортировки
  Write('Sorted arr: ');
  for value in arr do
      write(value:4);
  WriteLn();
  ReadLn;
end.


Вернуться к обсуждению:
Быстрая сортировка: отсортировать по возрастанию отдельно элементы первой и второй половин массива Pascal
Миниатюры
Быстрая сортировка: отсортировать по возрастанию отдельно элементы первой и второй половин массива  
0
Заказать работу у эксперта

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2018, 00:20
Готовые ответы и решения:

Поменять местами максимумы первой и второй половин массива
Ввести массив А(n).Поменять местами максимумы первой и второй половин массива. Оба массива...

Выполнить инверсию отдельно для 1-ой и 2-ой половин массива
Заполнить массив из 10 элементов случайными числами в интервале и выполнить инверсию отдельно для...

Элементы первой половины массива отсортировать по возрастанию
Ввести одномерный массив A, вывести его. Элементы первой половины массива, отсортировать по...

Массив: выполнить инверсию отдельно для 1-ой и 2-ой половин массива.
Заполнить массив из 10 элементов случайными числами и выполнить инверсию отдельно для 1-ой и 2-ой...

4
27.04.2018, 00:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2018, 00:20
Помогаю со студенческими работами здесь

Поменять местами минимальные элементы первой и второй половин массива
Поменять местами минимальные элементы первой и второй половин массива Тип- действительный через...

Сортировка первой половины массива по возрастанию, а второй по убыванию
Здравствуйте, помогите пожалуйста. Дан массив А, состоящий из 20 целых чисел. Отсортируйте первую...

Сортировка элементов первой половины одномерного массива по убыванию, а второй – по возрастанию
Добрый Вечер!!!Пожалуйста помогите решить задачу на Шаблоны Функций: Разработайте программу, в...

Отсортировать отдельно части массива по возрастанию
Организуйте массив, содержащий 15 различных целых чисел. После этого отдельно первые 5 элементов,...

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