Не записывается в файл. Ошибка 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;
    }

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

  1. Проверка условия: (a-b)!=0
  2. Вычисление значения переменной 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

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


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

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

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