Вычислить сумму нечётных элементов и удвоить чётные элементы массива - Turbo Pascal

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

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

Дан произвольный одномерный массив (элементы вводятся с клавиатуры). Формирование элементов массива, обработку и если нужно вывод массива оформить отдельными подпрограммами. Вычислить сумму нечетных элементов, а все остальнве удвоить.

Решение задачи: «Вычислить сумму нечётных элементов и удвоить чётные элементы массива»

textual
Листинг программы
  1. const
  2.   n = 10; {количество элементов массива}
  3. type
  4.   vector = array [1..n] of integer;
  5. var
  6.   myArr : vector;
  7.  
  8. {процедура ввода массива}
  9. procedure initArray(var v : vector);
  10. var a : integer;
  11. begin
  12.   writeln('ВВОД МАССИВА');
  13.   for a := 1 to n do
  14.   begin
  15.     write('введите ', a, '-й элемент массива >>');
  16.     readln(v[a])
  17.   end
  18. end;
  19.  
  20. {процедура вывода массива}
  21. procedure outputArray(v : vector);
  22. var a : integer;
  23. begin
  24.   writeln('ВЫВОД МАССИВА');
  25.   for a := 1 to n do  
  26.     write(v[a] : 5);
  27.   writeln
  28. end;
  29.  
  30. {функция суммирования нечетных}
  31. function sumOdd(v : vector) : integer;
  32. var a, s : integer;
  33. begin
  34.   s := 0;
  35.   for a := 1 to n do
  36.     if v[a] mod 2 <> 0 then s := s + v[a];
  37.   sumOdd := s
  38. end;
  39.  
  40. {процедура удвоения четных}
  41. procedure doubleEven (var v : vector);
  42. var a : integer;
  43. begin
  44.   for a := 1 to n do
  45.     if v[a] mod 2 = 0 then v[a] := v[a] * 2
  46. end;
  47.  
  48. {Главная программа}
  49. BEGIN
  50.   initArray(myArr);{ввод массива}
  51.   outputArray(myArr); {вывод массива}
  52.   doubleEven(myArr); {удваиваем четные}
  53.   outputArray(myArr); {вывод массива снова}
  54.   writeln('Сумма нечетных элементов массива = ', sumOdd(myArr));
  55.   readln  
  56. END.

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

  1. В процедуре initArray введен массив myArr, который будет использоваться для хранения введенных пользователем данных.
  2. В процедуре outputArray выводятся данные из массива myArr.
  3. Функция sumOdd принимает массив myArr и возвращает сумму всех нечетных элементов.
  4. В процедуре doubleEven каждый четный элемент массива myArr удваивается.
  5. В главной программе сначала выполняется ввод массива, затем вывод массива до и после удвоения четных элементов, и, наконец, выводится сумма нечетных элементов.

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


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

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

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

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

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

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