Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

Выполнить переворот или сортировку массива с помощью процедур(pascal abc).

5-9 класс

клавиатура1997 24 янв. 2017 г., 18:38:28 (7 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Pavilion
24 янв. 2017 г., 20:29:49 (7 лет назад)

const
  nm = 100;

type
  Mas = array[1..nm] of integer;

procedure Shell(var a: Mas; n: integer);
{ сортировка методом Шелла }
var
  i, j, step, t: integer;

begin
  step := n div 2;
  while step > 0 do
  begin
    for j := n - step downto 1 do
    begin
      i := j;
      while i <= n - step do
      begin
        if a[i] > a[i + step] then
        begin
          t := a[i];
          a[i] := a[i + 1];
          a[i + 1] := t
        end;
        i := i + step
      end
    end;
    step := step div 2
  end
end;

var
  x: Mas;
  i, n: integer;

begin
  Randomize;
  Write('Введите число элементов в массиве (1-100): ');
  Readln(n);
  Writeln('Исходный массив');
  for i := 1 to n do
  begin
    x[i] := Random(101) - 50;
    Write(x[i]:4)
  end;
  Shell(x, n);
  Writeln(#13#10, 'Отсортированный массив');
  for i := 1 to n do Write(x[i]:4)
end.

Тестовое решение:

Введите число элементов в массиве (1-100): 20
Исходный массив
  -8 -17 -19   1  -3  23 -33  30 -27 -45  12  26 -24  18  37   8  47 -14 -19  -3
Отсортированный массив
 -45 -33 -27 -24 -19 -19 -17 -14  -8  -3  -3   1   8  12  18  23  26  30  37  47


+ 0 -
Kurbanq
24 янв. 2017 г., 23:23:41 (7 лет назад)

Переворот - это транспонирование?

Ответить

Читайте также

Глупая надежда спрашивать решение..но все же.. 1.Создать массив на 20 значений. 2.Загрузить массив случайными числами от 10 до 100.Как

выразился мой учитель это подсказка: P=INT(RND*90+10)

3.Выполнить сортировку массива по возрастанию.

4.Вывести значение массива в столбик на экран.

Пожалуйста помогите..сегодня весь класс двойки получил...

Выполняется в программе Pascal ABC.

Строка содержит арифметическое выражение в виде двух чисел, между которыми стоит знак арифметического действия("+" или "-"). Составьте программу, которая предлагает ввести строку, выполняет данное арифметическое действие и выводит результат.

Даны два действительных положительных числа x и y. Арифметические действия над числами пронумерованы (1 – сложение, 2 – вычитание, 3 – умножение, 4 –

деление). Составьте программу, которая по введенному номеру выполняет то или иное действие над числами

Реализуйте структуру данных "стек". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы.

Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:

push n
Добавить в стек число n (значение n задается после команды). Программа должна вывести ok.
pop
Удалить из стека последний элемент. Программа должна вывести его значение.
back
Программа должна вывести значение последнего элемента, не удаляя его из стека.
size
Программа должна вывести количество элементов в стеке.
clear
Программа должна очистить стек и вывести ok.
exit
Программа должна вывести bye и завершить работу.
Гарантируется, что набор входных команд удовлетворяет следующим требованиям: максимальное количество элементов в стеке в любой момент не превосходит 100, все команды pop и back корректны, то есть при их исполнении в стеке содержится хотя бы один элемент.



Вы находитесь на странице вопроса "Выполнить переворот или сортировку массива с помощью процедур(pascal abc).", категории "информатика". Данный вопрос относится к разделу "5-9" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.