|
Вопрос # 3 854/ вопрос открыт / |
|
Здравствуйте! помогите программа не правельно считает. подскажите в чем ошибка. дана система уравнений и надо сделать если выполняеться первое условие тогда делаем соответствующие действия. если нет выполняем второе и т.д. вобщем по задаче всё видно. только гдето есть незначительные ошибки подскажите пожалуйста.
Приложение: Переключить в обычный режим- #include <stdio.h>
- #include <math.h>
- #include <conio.h>
- int main()
- {double x,y;
- printf("vvedite x=");
- scanf("%if",&x);
- if (x<=0) y=cos(3*x);
- else if (0<x<=1) y=(-x)+1;
- else if (1<x<=3) y=(x-1)*(x-1);
- else y=4;
- printf("y=%lf",y);
- getch();
- }
 |
Вопрос задал: Алексей Комнин (статус: Посетитель)
Вопрос отправлен: 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™ (статус: Доктор наук), 6 марта 2010, 20:21 [#1]:
А в чём проблема? Считается неправильно или компилятор ошибку выдаёт?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
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™ (статус: Доктор наук), 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™ (статус: Доктор наук), 6 марта 2010, 21:00 [#8]:
Цитата (Алексей Комнин):
а в чем проблема то была?
А ты сравни мой код со своим.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|