 |
|

08.01.2010, 21:27
|
|
Moderator - Level 7
Регистрация: 05.11.2007
Сообщений: 894
С нами:
9744746
Репутация:
1474
|
|
Сообщение от Fata1ex
koder., прочитайте начало книги. Я отчетливо помню, что там отдельно оговаривается, почему в текстах книги используется данный вариант и когда применяется другой. Книга НЕ устарела, Ra$cal НЕ ошибается, вы НЕ правы да и автора зовут вовсе НЕ Джон.
ну чтобы в вижуал студии не писать постоянно пространство имен std:
сделали чтоб сразу обозначить using namespace std;
|
|
|

09.01.2010, 23:06
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
С нами:
9963746
Репутация:
180
|
|
что выведет программа ?
Код:
#include <iostream>
using namespace std;
int main(){
int p=1;
int r=2;
int q = (p+r)/2;
cout<<q<<endl;
}
а теперь не поленились и скомпелировали это и написали сюда что непосредственно вывелось. Это не флуд, не спам, не флешмоб, это реальный вопрос.
PS. я вот был уверен что это выдаст мне 2
Последний раз редактировалось cupper; 09.01.2010 в 23:11..
|
|
|

09.01.2010, 23:10
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
С нами:
9126697
Репутация:
97
|
|
Сообщение от cupper
что выведет программа ?
Код:
#include <iostream>
using namespace std;
int main(){
int p=1;
int r=2;
int q = (p+r)/2;
cout<<q<<endl;
}
а теперь не поленились и скомпелировали это и написали сюда что непосредственно вывелось. Это не флуд, не спам, не флешмоб, это реальный вопрос.
Выведет единицу. Т.к. int разделить на int получится int. Не компилировал. Помню, говорили об этом на первом курсе университета.
Чтобы получить 1.5, нужно написать так:
Код:
...
int p=1;
int r = 2;
float q = (p+r)/(float)2;
...
Я прав?
Последний раз редактировалось herfleisch; 09.01.2010 в 23:12..
|
|
|

09.01.2010, 23:19
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
С нами:
8598418
Репутация:
2
|
|
Такая вот проблема. Совсем недавно, буквально вчера, начал учить С++. Решил написать небольшую прогу. Собственно вот код.
Код:
#include <iostream>
int main()
{
int a, b, c;
m: std::cout << "Введите первое число \n";
std::cin >> a;
std::cout << "Введите второе число \n";
std::cin >> b;
c=a+b;
if(a!=0 and b!=0)
{
std::cout << "Сумма a и b =";
std::cout << c;
}
else
{
std::cout << "Какое-то из чисел равно нулю! Введите другие числа!";
goto m;
}
return 0;
}
При запуске, ругается на 12 строку(это If) и выдает ошибку
"untitled1.cpp": E2377 If statement missing ) in function main() at line 10
Я читал, что это из-за того, что компилятор не определяет закрывающую скобку, но она на месте! Если что, юзаю Borland C++BuilderX
|
|
|

09.01.2010, 23:21
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
С нами:
9126697
Репутация:
97
|
|
Сообщение от Double2
Такая вот проблема. Совсем недавно, буквально вчера, начал учить С++. Решил написать небольшую прогу. Собственно вот код.
Код:
#include <iostream>
int main()
{
int a, b, c;
m: std::cout << "Введите первое число \n";
std::cin >> a;
std::cout << "Введите второе число \n";
std::cin >> b;
c=a+b;
if(a!=0 and b!=0)
{
std::cout << "Сумма a и b =";
std::cout << c;
}
else
{
std::cout << "Какое-то из чисел равно нулю! Введите другие числа!";
goto m;
}
return 0;
}
При запуске, ругается на 12 строку(это If) и выдает ошибку
"untitled1.cpp": E2377 If statement missing ) in function main() at line 10
Я читал, что это из-за того, что компилятор не определяет закрывающую скобку, но она на месте! Если что, юзаю Borland C++BuilderX
Напиши так: if((a!=0) && (b!=0))
Это тебе те паскаль
|
|
|

09.01.2010, 23:22
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
С нами:
8598418
Репутация:
2
|
|
Оу... Спасибо 
|
|
|

09.01.2010, 23:26
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
С нами:
9126697
Репутация:
97
|
|
Сообщение от Double2
Оу... Спасибо 
Если уж начал учить C/C++, отвыкай от меток и операторов goto. Они - признак плохого тона. Онотоле таке не одобряе )))
|
|
|

09.01.2010, 23:28
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
С нами:
8598418
Репутация:
2
|
|
 А чем можно заменить goto?
|
|
|

09.01.2010, 23:30
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
С нами:
9963746
Репутация:
180
|
|
[QUOTE=herfleisch]Выведет единицу. Т.к. int разделить на int получится int. Не компилировал. Помню, говорили об этом на первом курсе университета.
[/qoute]
Вот какого хера выведет еденицу, ведь блин всегда при делении с остатком если это int округлялось в большую сторону, а щас на те и 1.
PS. 1.5 мне ненадо получать %)
|
|
|

09.01.2010, 23:31
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
С нами:
8598418
Репутация:
2
|
|
Если не ошибаюсь, то округляется тогда, когда после точки идет число больше 5. Извиняюсь, если не прав
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 11 (пользователей: 0 , гостей: 11)
|
|
|
|