В универе выдали задание, написать и отладить программу для табуляции функций:
Я написала следующий код:
#include <iostream>
#include <stdio.h>
#include <math.h>
int main ()
{
float a,x,y;
printf ("-------------------------------\n");
printf (" a| x| y |\n");
printf ("-------------------------------\n");
a=0.7;
while (a<=1.0)
{ std::cout<<a;
x = -1;
if (-1<=x<=0)
{
y=-(pow((x+3*a),2))-2*a;
printf (" %12.2f| %10.2f\n",x,y);
x=(a+0.2)/2;
}
if (0<x<1)
{
y=a*cos(x+3*a)-3*a;
printf (" %12.2f| %10.2f\n",x,y);
x=(a+0.2)/2;
}
if (x=1)
{
y=a*exp(x);
printf (" %12.2f| %10.2f\n",x,y);
x=(a+0.2)/2;
}
printf("-------------------------------\n");
a=a+0.1; // a+=0.1;
}
getchar();
}
Проблема заключается в том что он работает, но не совсем в соответствии с условиями задания. По условию должно увеличиваться значение "а" и значение "x" после выполнения каждого цикла. Сейчас в написанной программке не увеличивается значение x. Если вместо if использовать в программе оператор while то программа зацикливается. Как сделать так чтоб программа считала как нужно?