Переписать программу с использованием функций - C (СИ)
Формулировка задачи:
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- int ar[5];
- void main(void)
- { clrscr();
- printf("введите пять чисел");
- for(int i=0;i<5;i++) scanf("%d",&ar[i]);
- float Sum=ar[0];
- for(i=1;i<5;i++) if(ar[i]>0) Sum=Sum+ ar[i];
- for(i=0;i<5;i=i+1)printf(“%5d”, ar[I]);
- printf("The sum is %f",Sum);
- getch ();
- }
Решение задачи: «Переписать программу с использованием функций»
textual
Листинг программы
- #include <iostream>
- void input(float *a, size_t m);
- void output(float *a, size_t m);
- float sum(float *a, size_t m);
- int main(void)
- {
- setlocale(0, "");
- size_t n;
- std::cout << "Введите размерность массива -> ";
- std::cin >> n;
- float *vector = new float[n];
- input(vector, n);
- output(vector, n);
- sum(vector, n);
- delete[] vector;
- system("pause");
- return 0;
- }
- void input(float *a, size_t m)
- {
- std::cout << "Введите " << m << " чисел: ";
- for(size_t i = 0; i < m; ++i)
- std::cin >> a[i];
- }
- void output(float *a, size_t m)
- {
- std::cout << "Состояние массива: " << std::endl;
- for(size_t i = 0; i < m; ++i)
- std::cout << a[i] << '\t';
- std::cout << std::endl << std::endl;
- }
- float sum(float *a, size_t m)
- {
- float summ = 0;
- for(size_t i = 0; i < m; ++i)
- if (a[i] > 0)
- summ += a[i];
- std::cout << "Сумма положительных элементов массива: " << summ;
- std::cout << std::endl << std::endl;
- return summ;
- }
Объяснение кода листинга программы
- В функции
main
считывается размерность массива с помощью ввода с клавиатуры и сохраняется в переменнуюn
типаsize_t
. - Динамически выделяется память под массив
vector
типаfloat
размеромn
с помощью оператораnew
. - Вызывается функция
input
, которая считываетn
чисел и сохраняет их в массивvector
. - Вызывается функция
output
, которая выводит состояние массиваvector
на экран. - Вызывается функция
sum
, которая вычисляет сумму положительных элементов массиваvector
и выводит ее на экран. - Выделяется память под массив
vector
освобождается с помощью оператораdelete[]
. - Программа ожидает нажатия любой клавиши с помощью
system(
pause)
. - Программа завершается с кодом 0.
В функции
input
считываютсяn
чисел и сохраняются в массивa
. В функцииoutput
выводится состояние массиваvector
на экран. В функцииsum
вычисляется сумма положительных элементов массиваvector
и выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д