Вывести на экран в виде таблицы значения функции F на интервале - C (СИ)
Формулировка задачи:
Вычислить и вывести на экран в виде таблицы значения
функции F на интервале от хнач до хкон с шагом dx
A,b,c – вещественные числа.
Формула в прикреплении.
Решение задачи: «Вывести на экран в виде таблицы значения функции F на интервале»
textual
Листинг программы
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main( )
{
int out= 10;//постраничный ввывод(по 10 строк)
float a,b,c,x,X1,X2,dX,F;//Объявление переменных
printf("Vvedite danye: \n");//Запрашиваем ввод данных с клавиатуры, выводя на экран соответствующие подсказки
while(!fflush(stdin)&&printf("\ta = ")&&!scanf("%f",&a));
while(!fflush(stdin)&&printf("\tb = ")&&!scanf("%f",&b));
while(!fflush(stdin)&&printf("\tc = ")&&!scanf("%f",&c));
while(!fflush(stdin)&&printf("\tX nach. = ")&&!scanf("%f",&X1));
while(!fflush(stdin)&&printf("\tX kon. = ")&&!scanf("%f",&X2));
while (X2<=X1)
{
while(!fflush(stdin)&&printf("\tX kon. = ")&&!scanf("%f",&X2));
}
while(!fflush(stdin)&&printf("\tdX kon. = ")&&!scanf("%f",&dX));
while (dX>=abs(X2-X1)||dX<=0)
{
while(!fflush(stdin)&&printf("\tdX kon. = ")&&!scanf("%f",&dX));
}
system("cls");
printf("-----------------------------\n");
printf("| x | f |\n");
printf("-----------------------------\n");
int counter = 0;
for (x = X1; x <= X2; x += dX)// Выполняем цикл от начального значения Х до конечного значения Х с шагом dX
{
if (counter==out)
{
counter=0;
printf("\nDalee? Press Enter\n");
getch();
system("cls");
printf("-----------------------------\n");
printf("| x | f |\n");
printf("-----------------------------\n");
}
counter++;
if ((x + 5 < 0) && (c == 0))//Вычисляем значение функции F, исходя из заданных условий
{
if(a * x == 0)
{
printf("| %11.3lf | error |\n",x);
}
else
{
F = ((1/(a*x))-b);//pow возведение в степень
printf("| %11.3lf | %11.3lf |\n",x,F);
}
}
else{
if ((x + 5 > 0) && (c != 0))
{
if(x == 0)
{
printf("| %11.3lf | error |\n",x);
}
else
{
F = ((x-a)/x);
printf("| %11.3lf | %11.3lf |\n",x,F);
}
}
else
{
if (c==4)
{
printf("| %11.3lf | error |\n",x);
}
else
{
F= (10*x)/(c-4);
printf("| %11.3lf | %11.3lf |\n",x,F);
}
}
}
}
printf("-----------------------------\n");
getch();
}