Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 854

Раздел: C++
/ вопрос открыт /

Здравствуйте! помогите программа не правельно считает. подскажите в чем ошибка. дана система уравнений и надо сделать если выполняеться первое условие тогда делаем соответствующие действия. если нет выполняем второе и т.д. вобщем по задаче всё видно. только гдето есть незначительные ошибки подскажите пожалуйста.

Приложение:
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <conio.h>
  4. int main()
  5. {double x,y;
  6. printf("vvedite x=");
  7. scanf("%if",&x);
  8. if (x<=0) y=cos(3*x);
  9. else if (0<x<=1) y=(-x)+1;
  10. else if (1<x<=3) y=(x-1)*(x-1);
  11. else y=4;
  12. printf("y=%lf",y);
  13. getch();
  14. }


Алексей Комнин Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Алексей Комнин (статус: Посетитель)
Вопрос отправлен: 6 марта 2010, 20:03
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Получи рабочий код:

#include <stdio.h>
#include <math.h>
#include <conio.h>
 
int main()
{
  double x, y;
 
  printf("vvedite x = ");
  scanf("%lf", &x); // scanf("%if",&x);
 
  if (x <= 0)
    y = cos(3 * x);
  else if (x <= 1) // (0<x<=1)
   y = 1 - x; //(-x)+1;
       else if (x <= 3) // (1<x<=3)
        y = (x - 1) * (x - 1);
      else y = 4;
 
  printf("x = %lf, y = %lf", x, y);
  getch();
 
  return 0;
}

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 6 марта 2010, 20:57
Оценка за ответ: 5

Комментарий к оценке: Спасибо) обьясните в чем проблема была?

Мини-форум вопроса

Всего сообщений: 8; последнее сообщение — 6 марта 2010, 21:00; участников в обсуждении: 2.
min@y™

min@y™ (статус: Доктор наук), 6 марта 2010, 20:21 [#1]:

А в чём проблема? Считается неправильно или компилятор ошибку выдаёт?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 6 марта 2010, 20:26 [#2]:

Для начала так попробуй:

#include <stdio.h>
#include <math.h>
#include <conio.h>
 
int main()
{
  double x, y;
  printf("vvedite x = ");
  scanf("%f", &x); // scanf("%if",&x);
 
  if (x <= 0)
    y = cos(3 * x);
  else if (x <= 1) // (0<x<=1)
         y = 1 - x; //(-x)+1;
       else if (x <= 3) // (1<x<=3)
              y = (x - 1) * (x - 1);
            else y = 4;
 
  printf("y = %lf", y);
  getch();
}
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Алексей Комнин

Алексей Комнин (статус: Посетитель), 6 марта 2010, 20:38 [#3]:

считает не првельно щас посмотрю ваш код
Алексей Комнин

Алексей Комнин (статус: Посетитель), 6 марта 2010, 20:39 [#4]:

всёравно выдаёт не верный результат не понимаю в чем проблема.
min@y™

min@y™ (статус: Доктор наук), 6 марта 2010, 20:45 [#5]:

А какой результат-то быть должен?
Что ты вводишь, что получаешь и что хочешь получить?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Алексей Комнин

Алексей Комнин (статус: Посетитель), 6 марта 2010, 20:48 [#6]:

ну по идее если ввести 0.6 должно выдать результат 0.4 так как выполняеться второй иф. а оно выдаёт 1.0000000
Алексей Комнин

Алексей Комнин (статус: Посетитель), 6 марта 2010, 20:58 [#7]:

а в чем проблема то была?
min@y™

min@y™ (статус: Доктор наук), 6 марта 2010, 21:00 [#8]:

Цитата (Алексей Комнин):

а в чем проблема то была?

А ты сравни мой код со своим.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 20 марта 2023, 21:52
Выполнено за 0.02 сек.
Рейтинг@Mail.ru