С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
razum777
0 / 0 / 0
Регистрация: 15.12.2009
Сообщений: 46
#1

Решение задачи - C++

17.12.2012, 12:12. Просмотров 771. Ответов 12
Метки нет (Все метки)

Доброго времени суток!
Очень глупый, уверен, для Вас вопрос, но мне задали задачу, решить пример: (a+b)2-(a2+2ab)/b2
Вот код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <windows.h>
#include <iostream>
#include <stdio.h>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
 
{ int a;
float b;
SetConsoleCP(1251); 
    SetConsoleOutputCP(1251);
cout<< "\n Введите a ";
cin>>a;
cout<<"\n Введите b ";
cin>>b;
    cout<<"\n Значение выражения = "<< ((a+b)*(a+b)-(a*a+2*a*b))/(b*b);
cout<<"\n ";
 
 system("PAUSE");
 
    return 0;
}
Программа считает, но результат получается 1.00117, а должен просто 1, в чем ошибка? я не могу понять.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2012, 12:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решение задачи (C++):

Решение задачи - C++
Помогите, пожалуйста! Решить задачу в С++, только с использованием цикла. Вывести на экран: 1111111 222222 33333 4444 555 66 ...

Решение задачи - C++
Для проффесионалов, я думаю, это будет очень легко. Условие, собственно, таково: Требуется подсчитать, на сколько минут раньше...

Решение задачи - C++
Помогите, пожалуйста =) Решить задачу в С++ Задано три символа. Напишите программу, которая выводит символы в порядке возрастания их...

Решение задачи - C++
в первом модуле определёна квадратная матрица четвёртого разряда. Выводится изменённая матрица построчно. во втором модуле все элементы...

Решение задачи - C++
Нужна помощь в решении задачи. Прошу помочь надеюсь в вашей поддержке:( прошу решить задачу

Решение задачи c++ - C++
Написать программу вычисляющую значение функции y=√(9-x*x) на задонном орезке с заданным шагом H=0.25 помогите пожалйста а то я...

12
Байт
Нарушитель
Эксперт C
16704 / 10968 / 1692
Регистрация: 24.12.2010
Сообщений: 21,413
17.12.2012, 12:19 #2
C
1
 double a, b;
В строчке 20 в скобках уверен ?
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
17.12.2012, 12:20 #3
У Вас происходит вещественное деление, это нормально. Можно дописать (int) перед выражением (прям в скобках), тогда результат округлится.
0
razum777
0 / 0 / 0
Регистрация: 15.12.2009
Сообщений: 46
17.12.2012, 13:01  [ТС] #4
не совсем понял, где нужно написать int, можно поточнее? Пробовал ставить перед выражением, у меня результат получился просто "0"
и еще мне нужно в это выражение поставить а=1000, b=0.0001
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
17.12.2012, 13:06 #5
Во-первых, как говорилось выше - скобки неправильно расставлены, во-вторых, почему именно 1?
http://liveworkspace.org/code/39IUQv$4
0
razum777
0 / 0 / 0
Регистрация: 15.12.2009
Сообщений: 46
17.12.2012, 13:22  [ТС] #6
так если эти числа поставить в это выражение и посчитать, то получится 1, а тут: -1e+14, что это ваще за число? поясните, пожалуйста.
0
Kojt
73 / 69 / 2
Регистрация: 19.05.2010
Сообщений: 167
17.12.2012, 14:51 #7
вместо потоков лучше использовать функции форматированного вывода
double a,b;
...
double res = ((a+b)*(a+b)-(a*a+2*a*b))/(b*b);
printf("Результат = %0.3f\n", res);
getch();
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
17.12.2012, 15:14 #8
razum777, обычное большое число)
Вы на калькуляторе считали? 1 получилось?
Введите свой пример ((1000+0.0001)^2-(1000^2 +2*1000*0.0001)/0.0001^2) в нигму.
1
razum777
0 / 0 / 0
Регистрация: 15.12.2009
Сообщений: 46
17.12.2012, 15:19  [ТС] #9
хорошо, скорей всего не правильно сосчитал я сам))) до сих пор поверить не могу, вот взял ввел в программу сокращения(так надо по заданию), вроде все правильно сделал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <math.h>
 
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
 
{ int a;
    float b,c,d,e;
    SetConsoleCP(1251); 
        SetConsoleOutputCP(1251);
cout<< "\n Введите a ";
cin>>a;
cout<<"\n Введите b ";
cin>>b;
c=(a+b)*(a+b);
d=a*a;
e=pow(b,2);
cout<<"\nЗначение выражения = "<<c-(d+2*a*b)/e;
cout<<"\n ";
 
 system("PAUSE");
 
    return 0;
}
0
Schizorb
510 / 462 / 16
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
17.12.2012, 15:27 #10
Цитата Сообщение от razum777 Посмотреть сообщение
(a+b)2-(a2+2ab)/b2
У вас в задании точно такая формула была?

Просто если вы хотите получить единицу в ответе, должно быть так: ((a+b)2-(a2+2ab))/b2
0
razum777
0 / 0 / 0
Регистрация: 15.12.2009
Сообщений: 46
17.12.2012, 15:35  [ТС] #11
Цитата Сообщение от Schizorb Посмотреть сообщение
У вас в задании точно такая формула была?

Просто если вы хотите получить единицу в ответе, должно быть так: ((a+b)2-(a2+2ab))/b2
Ааа, у меня щас голова лопнет, вот мой пример, напишите, пожалуйста, готовую формулу:
0
Миниатюры
Решение задачи  
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
17.12.2012, 16:16 #12
Цитата Сообщение от razum777 Посмотреть сообщение
((a+b)2-(a2+2ab))/b2
Готовая в первом посте.

Добавлено через 2 минуты
C++
1
2
3
4
a=1000.0;
b=0.0001;
    cout<<"\n Г‡Г*Г*Г·ГҐГ*ГЁГҐ âûðГ*æåГ*ГЁГї = "<< ((a+b)*(a+b)-(a*a+2*a*b))/(b*b);
cout<<"\n ";
У меня 1 и выводит.
0
razum777
0 / 0 / 0
Регистрация: 15.12.2009
Сообщений: 46
18.12.2012, 10:28  [ТС] #13
Всем спасибо!
0
18.12.2012, 10:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2012, 10:28
Привет! Вот еще темы с ответами:

Решение задачи - C++
Как решить задачу: поменять местами второй четный со вторым нечетным в одномерном массиве

Решение задачи - C++
При решении задачи, столкнулся наверное с самой непреодолимой!!! z1 = 2 * (1 - cos(2 * (3 * pi - 2 * alpha)) / 2) * (1 + cos(2 * ( 5 *...

Решение олимпиадной задачи (ч.2) - C++
i:= 1 j:= 257 Цикл i:= i + x; j:= j - x; x:= x - 1 выполнили 25 раз и стало i= j. Надо найти х.

помогите с решение задачи на c++. - C++
протабулируйте функции. Отрезок и шаг вводятся с клавиатуры: e^x-arctg(x)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.