Найти сумму элементов массива, расположенных после минимального элемента - Pascal
Формулировка задачи:
Составить текст программы на языке Паскаль, содержащий:
1) функцию, выполняющую действия над массивами (в соответствии с
вариантом);
2) функцию, выполняющую ввод элементов массива с клавиатуры;
3) функцию, выполняющую заполнение массива случайными
величинами в заданном диапазоне;
4) функцию, выполняющую вывод элементов массива на экран в виде
таблицы.
Варианты заданий:
1)Cумму элементов массива, расположенных после минимального
элемента. Диапазон – [-10;30]
Решение задачи: «Найти сумму элементов массива, расположенных после минимального элемента»
textual
Листинг программы
uses crt; type mas=array[1..20] of integer; const x1=-10; x2=30; function vvod_klav(var a:mas;var n:byte):byte; var i:byte;begin repeat write('Введите размер массива от 2 до 20 n='); readln(n); until n in [2..20]; writeln('Введите элементы массива, целые числа в диапазоне [',x1,'..',x2,']'); for i:=1 to n do repeat write('a[',i,']='); readln(a[i]); until(a[i]>=x1)and(a[i]<=x2); clrscr; vvod_klav:=1; end; function vvod_sluc(var a:mas;var n:byte):byte; var i:byte; begin repeat write('Введите размер массива от 2 до 20 n='); readln(n); until n in [2..20]; for i:=1 to n do a[i]:=x1+random(x2-x1+1); vvod_sluc:=1; end; function vyvod(a:mas;n:byte):byte; var i:byte; begin writeln('Массив'); for i:=1 to n do write(a[i]:4); writeln; vyvod:=1; end; function summa(a:mas;n:byte):integer; var i,imn:byte; s:integer; begin imn:=1; for i:=2 to n do if a[i]<a[imn] then imn:=i; writeln('Минимальный элемент=',a[imn],' его индекс=',imn); s:=0; if imn<n then for i:=imn+1 to n do s:=s+a[i]; writeln('Сумма после минимального=',s); summa:=s; end; var a:mas; n,f:byte; k:char; s:integer; begin clrscr; randomize; writeln('Выберите способ ввода массива'); writeln('1-с клавиатуры'); writeln('2-случайным образом'); repeat readln(k); until k in ['1','2']; if k='1' then f:=vvod_klav(a,n) else f:=vvod_sluc(a,n); f:=vyvod(a,n); s:=summa(a,n); readln end.
Объяснение кода листинга программы
- Импорт библиотеки
crt
. - Определение нового типа данных
mas
как массив целых чисел размером от 1 до 20. - Определение констант
x1
равной -10 иx2
равной 30. - Функция
vvod_klav
, принимающая массивa
и переменнуюn
типаmas
иbyte
соответственно, возвращает значение типаbyte
. Данная функция предназначена для ввода массива с клавиатуры. - Функция
vvod_sluc
, принимающая массивa
и переменнуюn
типаmas
иbyte
соответственно, возвращает значение типаbyte
. Данная функция предназначена для заполнения массива случайными числами. - Функция
vyvod
, принимающая массивa
и переменнуюn
типаmas
иbyte
соответственно, возвращает значение типаbyte
. Данная функция предназначена для вывода массива на экран. - Функция
summa
, принимающая массивa
и переменнуюn
типаmas
иbyte
соответственно, возвращает значение типаinteger
. Данная функция предназначена для нахождения суммы элементов массива, расположенных после минимального элемента. - Основная часть программы, включающая в себя переменные
a
(массив),n
(размер массива),f
(результат операции ввода),k
(выбор способа ввода),s
(сумма элементов после минимального элемента). - Инициализация генератора псевдослучайных чисел.
- Вывод сообщения о выборе способа ввода массива.
- Цикл для выбора способа ввода (с клавиатуры или случайным образом).
- Вызов соответствующей функции ввода в зависимости от выбора пользователя.
- Вызов функции вывода массива.
- Вызов функции вычисления суммы элементов после минимального значения.
- Ожидание ввода пользователя перед завершением программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д