Найти сумму элементов массива, расположенных после минимального - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Составить текст программы на языке Паскаль, содержащий: 1) процедуру, выполняющую действия над массивами сумму элементов массива, расположенных после минимального элемента. Диапазон – [-10;30].; 2) процедуру, выполняющую ввод элементов массива с клавиатуры; 3) процедуру, выполняющую заполнение массива случайными величинами в заданном диапазоне; 4) процедуру, выполняющую вывод элементов массива на экран в виде таблицы.

Решение задачи: «Найти сумму элементов массива, расположенных после минимального»

textual
Листинг программы
  1. uses crt;
  2. type mas=array[1..20] of integer;
  3. const x1=-10;
  4.       x2=30;
  5. procedure vvod_klav(var a:mas;var n:byte);
  6. var i:byte;
  7. begin
  8. repeat
  9. write('Введите размер массива от 2 до 20 n=');
  10. readln(n);
  11. until n in [2..20];
  12. writeln('Введите элементы массива, целые числа в диапазоне [',x1,'..',x2,']');
  13. for i:=1 to n do
  14. repeat
  15. write('a[',i,']=');
  16. readln(a[i]);
  17. until(a[i]>=x1)and(a[i]<=x2);
  18. clrscr;
  19. end;
  20. procedure vvod_sluc(var a:mas;var n:byte);
  21. var i:byte;
  22. begin
  23. repeat
  24. write('Введите размер массива от 2 до 20 n=');
  25. readln(n);
  26. until n in [2..20];
  27. for i:=1 to n do
  28. a[i]:=x1+random(x2-x1+1);
  29. end;
  30. procedure vyvod(a:mas;n:byte);
  31. var i:byte;
  32. begin
  33. writeln('Массив');
  34. for i:=1 to n do
  35. write(a[i]:4);
  36. writeln;
  37. end;
  38. procedure summa(a:mas;n:byte;var s:integer);
  39. var i,imn:byte;
  40. begin
  41. imn:=1;
  42. for i:=2 to n do
  43. if a[i]<a[imn] then imn:=i;
  44. writeln('Минимальный элемент=',a[imn],' его индекс=',imn);
  45. s:=0;
  46. if imn<n then
  47. for i:=imn+1 to n do
  48. s:=s+a[i];
  49. writeln('Сумма после минимального=',s);
  50. end;
  51. var a:mas;
  52.     n:byte;
  53.     k:char;
  54.     s:integer;
  55. begin
  56. clrscr;
  57. randomize;
  58. writeln('Выберите способ ввода массива');
  59. writeln('1-с клавиатуры');
  60. writeln('2-случайным образом');
  61. repeat
  62. readln(k);
  63. until k in ['1','2'];
  64. if k='1' then vvod_klav(a,n)
  65. else vvod_sluc(a,n);
  66. vyvod(a,n);
  67. summa(a,n,s);
  68. readln
  69. end.

Объяснение кода листинга программы

  1. В процедуре vvod_klav используется цикл repeat-until для запрашивания размера массива и его элементов. Размер массива вводится с клавиатуры, а затем проверяется, что он находится в диапазоне от 2 до 20. Элементы массива вводятся с клавиатуры до тех пор, пока не будет введен элемент, который больше или равен минимальному значению.
  2. В процедуре vvod_sluc используется цикл for для заполнения массива случайными числами в диапазоне от x1 до x2.
  3. В процедуре vyvod выводится содержимое массива построчно с помощью цикла for.
  4. В процедуре summa сначала определяется минимальный элемент массива, затем сумма элементов массива после этого элемента.
  5. В основной программе сначала сбрасывается экран, затем запрашивается способ ввода массива. Если выбран способ '1', то вызывается процедура vvod_klav, если способ '2', то вызывается процедура vvod_sluc. Затем выводится содержимое массива и сумма элементов после минимального значения.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы