Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2015, 08:15   #1
Vitalyas
Пользователь
 
Регистрация: 25.11.2014
Сообщений: 47
По умолчанию Система неравенств

Всем привет! Нужна небольшая помощь!
Вот задание:
Вот код программы:
Код:
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#pragma argsused

int main(int argc, char* argv[])
{
 int i;
 double k,y,x,x1,x2,dx,a,b,c;
 {
  l1:
  cout<<"Enter x1: ";
  cin>>x1;
  cout<<"Enter x2: ";
  cin>>x2;
  cout<<"Enter step: ";
  cin>>dx;
  cout<<"Enter a: ";
  cin>>a;
  cout<<"Enter b: ";
  cin>>b;
  cout<<"Enter c: ";
  cin>>c;
  cout<<" ___________________\n";
  cout<<"|___x___|_____y_____|\n";
  y=0;


  for (x=x1; x<=x2; x=x+dx)
  {
   if (x<5 && c!=0) {y=(-a)*x*x-b; printf("|x=%5.2lf|y=%9.3lf|\n", x,y);}
   else {
         if (x>5 && c==0) {y=(-a)/(x-c); printf("|x=%5.2lf|y=%9.3lf|\n", x,y);}
         else {
               if (x==5&&c==0) {printf("|x=%5.2lf|Error      |\n", x);}
               else y=(-x)/c; printf("|x=%5.2lf|y=%9.3lf|\n", x,y);
              }
        };
  }
 }
 {
 cout<<"\n1-Continue\n0-Exit\n";
 cin>>k;
 if (k!=0 && k!=1) {cout<<"\nEntered an incorrect value. The program automatically closes\n"; getch();}
 else {
       if (k==1) {goto l1;}
       else {goto l2;};
      }
 l2:
 exit(0);
 }
getch();
}
Выдает следующую ошибку:

Последний раз редактировалось Vitalyas; 14.03.2015 в 08:18.
Vitalyas вне форума Ответить с цитированием
Старый 14.03.2015, 09:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
if (x==5&&c==0) {printf("|x=%5.2lf|Error |\n", x);}
else y=(-x)/c; printf("|x=%5.2lf|y=%9.3lf|\n", x,y);
Первая же итерация: x=1 c=0. Сработает else y=(-x)/c.
Тебе if (x==5&&c==0) {printf("|x=%5.2lf|Error |\n", x);} вообще убирать надо.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.03.2015, 13:47   #3
Vitalyas
Пользователь
 
Регистрация: 25.11.2014
Сообщений: 47
По умолчанию

При х=5 он попадает в третий случай и при с=0 идет деление на ноль, а это проверка деления на ноль, что если происходит деление на ноль то выдает надпись Error - без нее никуда =)
Когда делаешь от х1=5 х2=10 и с=0 то при х=5 все нормально пишет error, а вот такой случай выдает ошибку, которая приостанавливает программу.

Последний раз редактировалось Vitalyas; 14.03.2015 в 14:00.
Vitalyas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение графика системы неравенств Maryam1 Помощь студентам 0 18.05.2014 14:52
Построение графика системы неравенств Tatiana27 Помощь студентам 0 23.05.2012 22:39
Решение уравнений и неравенств annochka111 Помощь студентам 0 03.01.2010 19:29