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

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

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

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

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

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

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

  1. Импорт библиотеки crt.
  2. Определение нового типа данных mas как массив целых чисел размером от 1 до 20.
  3. Определение констант x1 равной -10 и x2 равной 30.
  4. Функция vvod_klav, принимающая массив a и переменную n типа mas и byte соответственно, возвращает значение типа byte. Данная функция предназначена для ввода массива с клавиатуры.
  5. Функция vvod_sluc, принимающая массив a и переменную n типа mas и byte соответственно, возвращает значение типа byte. Данная функция предназначена для заполнения массива случайными числами.
  6. Функция vyvod, принимающая массив a и переменную n типа mas и byte соответственно, возвращает значение типа byte. Данная функция предназначена для вывода массива на экран.
  7. Функция summa, принимающая массив a и переменную n типа mas и byte соответственно, возвращает значение типа integer. Данная функция предназначена для нахождения суммы элементов массива, расположенных после минимального элемента.
  8. Основная часть программы, включающая в себя переменные a (массив), n (размер массива), f (результат операции ввода), k (выбор способа ввода), s (сумма элементов после минимального элемента).
  9. Инициализация генератора псевдослучайных чисел.
  10. Вывод сообщения о выборе способа ввода массива.
  11. Цикл для выбора способа ввода (с клавиатуры или случайным образом).
  12. Вызов соответствующей функции ввода в зависимости от выбора пользователя.
  13. Вызов функции вывода массива.
  14. Вызов функции вычисления суммы элементов после минимального значения.
  15. Ожидание ввода пользователя перед завершением программы.

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


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

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

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

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

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

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