Переделать программу так, чтобы она включала в себя функции - C (СИ)

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

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

Добрый день, нужно переделать программу так, чтобы она включала в себя функции, тк сталкиваюсь с этим впервые, получилось не очень хорошо. Код, который нужно переделать:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
int main()
{
 
double x, S;
int n, i;
 
S=0;
i=1;
 
printf("Enter the x\n");
scanf ("%lf", &x);
printf("Enter the n\n");
scanf("%d", &n);
 
if (n < 0) {
printf ("n is not correct data\n");
} else {
for (i = 1; i <= n; i++){
S += (x + cos(i*x))/pow(2, i);}
printf("%lf\n",S);
return 0;
}
}
И то, что у меня получилось:
#include <math.h>
#include <stdio.h>
 
float sum (float x, int n)
 
int main()
{
    int n, i=1;
    float x, sum;
        if (n>i)
            for (i=1; i<n; i++){
            sum+=(x+cos(i+x))/pow(2, i)
            }
            printf("result is %f", sum)
    return 0;
}

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

textual
Листинг программы
double f(double x, int i)
{
  return (x + cos(i*x))/pow(2, i);
}
...................
for (i = 1; i <= n; i++){
  S += f(x,i);

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

  1. В данном коде представлена функция f(x,i), которая принимает два аргумента: x и i.
  2. Внутри функции происходит вычисление выражения (x + cos(i*x))/pow(2, i).
  3. Затем в функции происходит возвращение результата вычисления этого выражения.
  4. Далее представлен цикл for, который начинается с i = 1 и продолжается до тех пор, пока i <= n.
  5. Внутри цикла происходит вызов функции f(x,i) с передачей текущих значений x и i в качестве аргументов.
  6. Результат вычисления функции f(x,i) при каждом проходе цикла добавляется к переменной S.

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


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

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

6   голосов , оценка 4.167 из 5
Похожие ответы