Не записывается в файл. Ошибка Floating point error: Domain - C (СИ)
Формулировка задачи:
При попытке записать данные в таблицу выводит сообщение:
Floating point error: Domain.
Abnormal program termination
Что сделать, чтобы данные записывались в файл? Код программы ниже.
#include<stdio.h> FILE*l; //FILE*s; main() {int i,j=10; //j- shirina iacheek float y,a,b,x; l=fopen("tab.rtf","w"); //s=fopen("znaki.rtf","w"); //fprintf(s,"179 %c\t180 %c\t191 %c\t192 %c\t 193 %c\t 194 %c\t 195 %c\t196 %c\t197 %c\t217 %c\t 218 %c\t",179,180,191,192,193,194,195,196,197,217,218); puts("vvedite b"); scanf("%f",&b); clrscr(); fprintf(l,"b=%6.2f\n",b); //risuem shapku fprintf(l,"%c",218); for(i=0;i<j;i++) fprintf(l,"%c",196); fprintf(l,"%c",194); for(i=0;i<j;i++) fprintf(l,"%c",196); fprintf(l,"%c",194); for(i=0;i<j;i++) fprintf(l,"%c",196); fprintf(l,"%c",191); fprintf(l,"\n%c%10s%c%10s%c%10s%c",179,"y",179,"x",179,"c",179); //risum telo kagdii cicl odnu polosku for(x=2,a=1;x>=2&&x<=3.2&&a>=1&&a<=2.8;x=x+0.2,a=a+0.3) { if ((a-b)!=0) { y=((pow(a,2)-3)/(a-b))*x+(pow(a,2)-pow(b,2))/a; } fprintf(l,"\n%c",195); for(i=0;i<10;i++) fprintf(l,"%c",196); fprintf(l,"%c",197); for(i=0;i<10;i++) fprintf(l,"%c",196); fprintf(l,"%c",197); for(i=0;i<10;i++) fprintf(l,"%c",196); fprintf(l,"%c",180); fprintf(l,"\n%c%10.2f%c%10.2f%c%10.2f%c",179,y,179,a,179,x,179); } fprintf(l,"\n%c",192); for(i=0;i<j;i++) fprintf(l,"%c",196); fprintf(l,"%c",193); for(i=0;i<j;i++) fprintf(l,"%c",196); fprintf(l,"%c",193); for(i=0;i<j;i++) fprintf(l,"%c",196); fprintf(l,"%c",217); getch(); }
Решение задачи: «Не записывается в файл. Ошибка Floating point error: Domain»
textual
Листинг программы
if ((a-b)!=0) { y=((pow(a,2)-3)/(a-b))*x+(pow(a,2)-pow(b,2))/a; }
Объяснение кода листинга программы
- Проверка условия:
(a-b)!=0
- Вычисление значения переменной
y
:pow(a,2)
- возведение в квадрат числаa
(pow(a,2)-3)
- вычитание числа 3 из результата возведения в квадрат числаa
(a-b)
- вычитание числаb
из числаa
(pow(a,2)-pow(b,2))/a
- деление разности результатов возведения в квадрат чиселa
иb
на числоa
(pow(a,2)-3)/(a-b)
- деление результата вычитания числа 3 из результата возведения в квадрат числаa
на результат вычитания числаb
из числаa
x+(pow(a,2)-pow(b,2))/a
- сложение результата вычитания числаb
из числаa
и результата деления разности результатов возведения в квадрат чиселa
иb
на числоa
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д