Работа с массивом через диалоговое меню - PascalABC.NET
Формулировка задачи:
Я новичок, ошибок куча. Прошу указать по возможности на каждую. Программа не запускается из - за ошибок, как решить их - не знаю((
1 функция должна увеличивать нечетные по порядку числа массива на число, введенное пользователем
2 функция менять местами числа слева и справа от центрального
3 функция ищет максимальное число кратное 5
4 функция сортирует массив пузырьком по убыванию
Решение задачи: «Работа с массивом через диалоговое меню»
textual
Листинг программы
const N = 10; type mas = array [1..N] of integer; procedure ArrayPrint(a: mas); begin for var i := 1 to N do write(a[i], ' '); writeln; end; function uvel(var a: mas): integer; var k, i: integer; begin writeln('введите число, на которое хотите увeличить нечетные числа по порядку'); readln(k); for i := 1 to N do if i mod 2 > 0 then a[i] := a[i] + k; ArrayPrint(a); end; function exchange(var a: mas): integer; var t, i: integer; begin for i := 1 to N div 2 do begin t := a[i]; a[i] := a[N - i + 1]; a[N - i + 1] := t end; ArrayPrint(a); end; function Max(var a: mas): integer; var max, i: integer; begin write(' максимальный элемент, кратный 5 - '); max := -16; for i := 1 to N do if (a[i] mod 5 = 0) and (a[i] > max) then max := a[i]; if max = -16 then writeln('Такого числа нет') else writeln(max); end; function ubivanie(var a: mas): integer; var i, j, c: integer; begin for i := 1 to n - 1 do for j := 1 to n - 1 do if(a[j] < a[j + 1]) then begin c := a[j]; a[j] := a[j + 1]; a[j + 1] := c; end; ArrayPrint(a); end; var i, g, d, c, k: integer; A: mas; begin randomize; writeln('Нажмите 0, если хотите заполнить массив вручную;Если хотите рандомом - жмите 1'); readln(d); case d of 0: for i := 1 to N do begin write('A[', i, '] = '); readln(A[i]); end; 1: begin for i := 1 to N do A[i] := random(31) - 15; ArrayPrint(a); end; end; repeat writeln('1-увеличение нечетных чисел массива, 2-поменять местами числа массива, соседние с центральным, 3-найти максимальное число массива, кратное 5, 4-выполнить сортировку массива по убыванию, 0-закончить'); until g = 0; readln(g); case g of 1: uvel(A); 2: exchange(A); 3: max(A); 4: ubivanie(A); 0: writeln('программа завершена'); end; end.
Объяснение кода листинга программы
- Объявляется константа N, которая определяет размер массива (10).
- Определяется тип массива mas, который представляет собой массив целых чисел размером от 1 до N (массив длины 10).
- Создается функция ArrayPrint, которая принимает массив a в качестве параметра и выводит все его элементы через пробел.
- Создается функция uvel, которая принимает массив a в качестве параметра и умножает нечетные числа в массиве на введенное пользователем число k.
- Создается функция exchange, которая принимает массив a в качестве параметра и меняет местами четные и нечетные числа в первой половине массива.
- Создается функция Max, которая принимает массив a в качестве параметра и находит максимальное число в массиве, кратное 5.
- Создается функция ubivanie, которая принимает массив a в качестве параметра и сортирует его в порядке убывания.
- В основной части программы определяется массив A типа mas.
- Пользователю предлагается заполнить массив вручную или случайными числами.
- Если пользователь выбирает ручное заполнение массива, ему предлагается ввести 10 чисел.
- Если пользователь выбирает случайное заполнение массива, генерируются случайные числа от -15 до 15 для каждого элемента массива.
- После заполнения массива выводится его содержимое.
- Пользователю предлагается выбрать действие из списка: увеличение нечетных чисел, обмен соседними четными и нечетными числами, поиск максимального числа, сортировка массива по убыванию.
- Пока пользователь не введет 0, программа повторяет шаги 13.
- Если пользователь выбирает увеличение нечетных чисел, вызывается функция uvel.
- Если пользователь выбирает обмен соседними четными и нечетными числами, вызывается функция exchange.
- Если пользователь выбирает поиск максимального числа, вызывается функция Max.
- Если пользователь выбирает сортировку массива по убыванию, вызывается функция ubivanie.
- Если пользователь выбирает завершение программы, выводится сообщение
программа завершена
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д