ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

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

09.01.2010, 23:06
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме: 1180737
Репутация:
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
Провел на форуме: 745649
Репутация:
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
Провел на форуме: 30549
Репутация:
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
Провел на форуме: 745649
Репутация:
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
Провел на форуме: 30549
Репутация:
2
|
|
Оу... Спасибо 
|
|
|

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

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

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

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