Найти сумму элементов массива, расположенных после минимального - Turbo Pascal
Формулировка задачи:
Составить текст программы на языке Паскаль, содержащий:
1) процедуру, выполняющую действия над массивами сумму элементов массива, расположенных после минимального
элемента. Диапазон – [-10;30].;
2) процедуру, выполняющую ввод элементов массива с клавиатуры;
3) процедуру, выполняющую заполнение массива случайными
величинами в заданном диапазоне;
4) процедуру, выполняющую вывод элементов массива на экран в виде
таблицы.
Решение задачи: «Найти сумму элементов массива, расположенных после минимального»
textual
Листинг программы
uses crt; type mas=array[1..20] of integer; const x1=-10; x2=30; procedure vvod_klav(var a:mas;var n: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; end; procedure vvod_sluc(var a:mas;var n: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); end; procedure vyvod(a:mas;n:byte); var i:byte; begin writeln('Массив'); for i:=1 to n do write(a[i]:4); writeln; end; procedure summa(a:mas;n:byte;var s:integer); var i,imn:byte; 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); end; var a:mas; n: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 vvod_klav(a,n) else vvod_sluc(a,n); vyvod(a,n); summa(a,n,s); readln end.
Объяснение кода листинга программы
- В процедуре vvod_klav используется цикл repeat-until для запрашивания размера массива и его элементов. Размер массива вводится с клавиатуры, а затем проверяется, что он находится в диапазоне от 2 до 20. Элементы массива вводятся с клавиатуры до тех пор, пока не будет введен элемент, который больше или равен минимальному значению.
- В процедуре vvod_sluc используется цикл for для заполнения массива случайными числами в диапазоне от x1 до x2.
- В процедуре vyvod выводится содержимое массива построчно с помощью цикла for.
- В процедуре summa сначала определяется минимальный элемент массива, затем сумма элементов массива после этого элемента.
- В основной программе сначала сбрасывается экран, затем запрашивается способ ввода массива. Если выбран способ '1', то вызывается процедура vvod_klav, если способ '2', то вызывается процедура vvod_sluc. Затем выводится содержимое массива и сумма элементов после минимального значения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д