#include "pch.h"
#include
#include
using namespace std;
double f(double x)
{
double m = -7 * pow(x, 3) - 5.8*x - 4;
return m;
}
int main()
{
double a = -1; double b = 2;
flag1:
double c = 0.5*(a + b);
if (f(c) == 0)
cout << "The result is " << c << endl;
if (f(c)*f(a) < 0)
{
b = c;
goto flag1;
}
if (f(c)*f(b) < 0)
{
a = c;
goto flag1;
}
if (c >= a && c <= b)
cout << "The solution belongs to the interval" << endl;
else
cout << "The solution doesn't belongs to the interval";
return 0;
}
Тут с флагами. Если не нравятся флаги - перестройте под себя.
#include <stdio.h>
int main()
{
double K[13]={1.1, 2.1, 3.1, 4.2, 5.2, 6.5, 7.6, 8.7, 0.1, 0.5, 4.5, 0.9};
double F[13]={-3.2, 5.6, -0.8, 4.4, -5.5, 5.1, 3.1, -0.3, 0.09, 2.3, -1.2, 7.7};
int i,sk_k=0,sk_f=0;
double c,sum_k=1,sum_f=1; //начальные суммы равны 1
printf("Enter C: ");
scanf("%lf",&c); // считываем c
for(i=0;i<13;i++) //цикл по массивам
{
if(K[i]>c) // если элемент массива K > c
{
sum_k=sum_k*K[i]; // сумму умножаем на элемент, для первого элемента это будет сам элемент (начальная сумма = 1)
sk_k++; // считаем сколько элементов, которые > c
}
if(F[i]>a) // если элемент массива F > c
{
sum_f=sum_f*F[i]; // сумму умножаем на элемент, для первого элемен-та это будет сам элемент (начальная сумма = 1)
sk_f++; // считаем сколько элементов, которые > c
}
}
// вывод
if(sk_k==0) // если в массиве K не было ни одного элемента > c
printf("No elements in K\n");
else
printf("Sum of K = %.2lf\n",sum_k); // если в массиве K был хотя бы один элемент > c
if(sk_f==0) // если в массиве F не было ни одного элемента > c
printf("No elements in F\n");
else
printf("Sum of F = %.2lf\n",sum_f); // если в массиве F был хотя бы один элемент > c
return 0;
}
Объяснение: