Переписать программу с использованием функций - C (СИ)

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

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

Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. int ar[5];
  4. void main(void)
  5. { clrscr();
  6. printf("введите пять чисел");
  7. for(int i=0;i<5;i++) scanf("%d",&ar[i]);
  8. float Sum=ar[0];
  9. for(i=1;i<5;i++) if(ar[i]>0) Sum=Sum+ ar[i];
  10. for(i=0;i<5;i=i+1)printf(“%5d”, ar[I]);
  11. printf("The sum is %f",Sum);
  12. getch ();
  13. }
помогите плиз записать при помощи функций эту задачу

Решение задачи: «Переписать программу с использованием функций»

textual
Листинг программы
  1. #include <iostream>
  2.  
  3. void input(float *a, size_t m);
  4. void output(float *a, size_t m);
  5. float sum(float *a, size_t m);
  6.  
  7. int main(void)
  8. {
  9.     setlocale(0, "");
  10.     size_t n;
  11.     std::cout << "Введите размерность массива -> ";
  12.     std::cin >> n;
  13.     float *vector = new float[n];
  14.     input(vector, n);
  15.     output(vector, n);
  16.     sum(vector, n);
  17.     delete[] vector;
  18.     system("pause");
  19.     return 0;
  20. }
  21.  
  22. void input(float *a, size_t m)
  23. {
  24.     std::cout << "Введите " << m << " чисел: ";
  25.     for(size_t i = 0; i < m; ++i)      
  26.         std::cin >> a[i];
  27. }
  28.  
  29. void output(float *a, size_t m)
  30. {
  31.     std::cout << "Состояние массива: " << std::endl;
  32.     for(size_t i = 0; i < m; ++i)
  33.         std::cout << a[i] << '\t';
  34.     std::cout << std::endl << std::endl;
  35. }
  36.  
  37. float sum(float *a, size_t m)
  38. {
  39.     float summ = 0;
  40.     for(size_t i = 0; i < m; ++i)
  41.         if (a[i] > 0)
  42.             summ += a[i];
  43.     std::cout << "Сумма положительных элементов массива: " << summ;
  44.     std::cout << std::endl << std::endl;
  45.     return summ;
  46. }

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

  1. В функции main считывается размерность массива с помощью ввода с клавиатуры и сохраняется в переменную n типа size_t.
  2. Динамически выделяется память под массив vector типа float размером n с помощью оператора new.
  3. Вызывается функция input, которая считывает n чисел и сохраняет их в массив vector.
  4. Вызывается функция output, которая выводит состояние массива vector на экран.
  5. Вызывается функция sum, которая вычисляет сумму положительных элементов массива vector и выводит ее на экран.
  6. Выделяется память под массив vector освобождается с помощью оператора delete[].
  7. Программа ожидает нажатия любой клавиши с помощью system(pause).
  8. Программа завершается с кодом 0. В функции input считываются n чисел и сохраняются в массив a. В функции output выводится состояние массива vector на экран. В функции sum вычисляется сумма положительных элементов массива vector и выводится на экран.

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


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

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

10   голосов , оценка 4.3 из 5

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

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

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