Форум программистов, компьютерный форум CyberForum.ru

Не считает переменную - C++

Восстановить пароль Регистрация
 
Chymardos
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 78
27.03.2013, 01:56     Не считает переменную #1
Почему не считает переменную St ?
При вводе любых значений она равняется 0
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int a;
int b;
cin>>a;
cin>>b;
int h=b;
int at=a/3;
int bt=b/5;
int S=a*b;
int St=at*bt/2*h;
int S1=S-St;
cout<<S<<endl;
cout<<St<<endl;
 
cout<<S1;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
27.03.2013, 02:08     Не считает переменную #2
a=6
b=5
S=30
St=5
S1=25
какие-то проблемы? Может ты забыл, что всё деление целочисленное и вводил числа меньше 6 и 5
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
27.03.2013, 02:12     Не считает переменную #3
Chymardos, считает
Миниатюры
Не считает переменную  
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
27.03.2013, 02:14     Не считает переменную #4
проблема вашей задачи, заключается в том, что вы задали все переменные как целочисленные. И так получается, что при выполнении определенных действий, таких как деление в формуле at или bt, числа могут получится дробные, а в вашей программе это не учтено. Условно говоря - поделив 3 на 2, мы не получим 1.
Просто поменяйте типы числовых данных в некоторых переменных и будет вам счастье. переделывать код не буду, так как надеюсь вы сами это сможете сделать=)

Добавлено через 1 минуту
UnsKneD, ну вам повезло, просто вы ввели подходящие цифры=)
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
27.03.2013, 02:15     Не считает переменную #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int a;
int b;
cin>>a;
cin>>b;
int h=b;
float at=a/3.;
float bt=b/5.;
float S=a*b;
float St=at*bt/2*h;
float S1=S-St;
cout<<S<<endl;
cout<<St<<endl;
 
cout<<S1;
Friday
ну и долго меня небыло...
 Аватар для Friday
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
27.03.2013, 02:15     Не считает переменную #6
Попробуй float или double вместо int
Тогда все считатся будет правильно.
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
27.03.2013, 02:19     Не считает переменную #7
Цитата Сообщение от Алексaндр Посмотреть сообщение
C++
1
float S=a*b;
а зачем здесь флоат? при умножении чисел мы в любом случае получим целочисленное, если у нас а и b тоже заданы как целочисленные. Или я что-то провтыкал?
Friday
ну и долго меня небыло...
 Аватар для Friday
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
27.03.2013, 02:19     Не считает переменную #8
Упс... Александр опередил меня на несколько секунд, и даже реализовал идею)
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
27.03.2013, 02:43     Не считает переменную #9
Цитата Сообщение от Рейвол Посмотреть сообщение
UnsKneD, ну вам повезло, просто вы ввели подходящие цифры=)
Ну я сразу понял почему выдаст 0, и надеялся подтолкнуть ТС к правильному выводу.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2013, 02:46     Не считает переменную
Еще ссылки по теме:

Не правильно считает C++
C++ Не считает sin
Неправильно считает C++

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

Или воспользуйтесь поиском по форуму:
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
27.03.2013, 02:46     Не считает переменную #10
Цитата Сообщение от Рейвол Посмотреть сообщение
а зачем здесь флоат? при умножении чисел мы в любом случае получим целочисленное, если у нас а и b тоже заданы как целочисленные. Или я что-то провтыкал?
Я заметил это при отправлении, не переживай ) Просто мне привычнее, что если площадь, то может быть нецелая, поэтому по привычке написал, а править не стал.
Yandex
Объявления
27.03.2013, 02:46     Не считает переменную
Ответ Создать тему
Опции темы

Текущее время: 04:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru