Четверг, 05 Декабря 2024, 03:47

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-Ответ (C++)
KornivalДата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1
The Witcher
Сейчас нет на сайте
Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.

Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
ArchidoДата: Вторник, 02 Июля 2013, 02:37 | Сообщение # 981
Сэнсэй
Сейчас нет на сайте
Цитата (Animan2010)
Почему в C++ нельзя использовать тернарный оператор таким образом: a > 0 ? cout << a;

Тернарник лишний раз вообще лучше не использовать, он не лучшим образом влияет на читаемость кода.

if (a > 0) cout << a; выглядит гораздо лучше.

Цитата (netskul)
можно как нибудь зная правый вектор вычислить левый?

О чем речь вообще?


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
RUNGOGET2THECHOPAHДата: Вторник, 02 Июля 2013, 07:05 | Сообщение # 982
участник
Сейчас нет на сайте
Цитата (netskul)
можно как нибудь зная правый вектор вычислить левый?

Домножить компоненты его на -1?
netskulДата: Вторник, 02 Июля 2013, 09:23 | Сообщение # 983
был не раз
Сейчас нет на сайте
Цитата (Archido)
О чем речь вообще?
Вообще я делаю игру на своём движке и нужен был скрипт конвертирования экранных координат мыши в трехмерные и по моим вычислениям мне нужно было узнать левый вектор, но из за этого я не хотел писать новую функцию и хотел узнать левый вектор зная правый и верхний. Сейчас уже разобрался и написал функцию а потом понял что лучше использовать для этого луч


Сообщение отредактировал netskul - Вторник, 02 Июля 2013, 09:26
SnickДата: Вторник, 02 Июля 2013, 11:35 | Сообщение # 984
почетный гость
Сейчас нет на сайте
Цитата
скрипт конвертирования экранных координат мыши в трехмерные

Скрипт?! wacko Ветка же про C/C++.
AkatsukiДата: Вторник, 02 Июля 2013, 12:11 | Сообщение # 985
почетный гость
Сейчас нет на сайте
Моя первая програма на C++ (я не учусь и не училься в школе програмирования):
#include <iostream> // Programe Discriminant and solution calc.
#include <conio.h>
#include <math.h>
using namespace std;

int main()
{
cout<<"Пишиш без a,b,c,приклад: 2 5 -12 або натиснеш на Enter и пишеш вниз, ПИШИ: ";
float D;
int repetare=0;
int a;
int b;
int c;
int x1;
int x2;
repetare;
{
while(repetare<100)
{
cin>>a;
cin>>b;
cin>>c;
D=(b^2-(4*a*c))*(-1);
x1=(b-sqrt(D))/(2*a);
x2=(b+sqrt(D))/(2*a);
if (D>0)
{
cout<<"D="<<D;
cout<<" x1="<<x1;
cout<<" x2="<<x2;
cout<<" Имеет два кореня";
}

if (D<0)
{
cout<<"D="<<D;
cout<<" Не имеет кореней";
}
if(D=0)
{
cout<<"D="<<D;
cout<<" x1="<<x1;
cout<<" Имеет один корень";
}
repetare++;
}
}
getche();
return 0;
}


Akatsuki
-Движок:
CryENGINE 3;
- Движок:
Shiva3D Game Development Tool;


Сообщение отредактировал Akatsuki - Вторник, 02 Июля 2013, 12:11
ArchidoДата: Вторник, 02 Июля 2013, 12:54 | Сообщение # 986
Сэнсэй
Сейчас нет на сайте
Цитата (netskul)
Вообще я делаю игру на своём движке и нужен был скрипт конвертирования экранных координат мыши в трехмерные

"Свой движок" и "скрипт" как-то не вяжутся... мм? По-моему тут речь о некоем куске кода на плюсах, который поможет сконвертить координаты... а скрипты это чуток другое. И по координатам я отвечал тут


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
IzaronДата: Вторник, 02 Июля 2013, 13:11 | Сообщение # 987
Rammstein forever
Сейчас нет на сайте
Цитата (Akatsuki)
int x1;
int x2;
repetare;
{

Щито это
RUNGOGET2THECHOPAHДата: Вторник, 02 Июля 2013, 13:13 | Сообщение # 988
участник
Сейчас нет на сайте
Цитата (Akatsuki)
cout<<"Пишиш без a,b,c,приклад: 2 5 -12 або натиснеш на Enter и пишеш вниз, ПИШИ: ";

Доставило.
AkatsukiДата: Вторник, 02 Июля 2013, 13:57 | Сообщение # 989
почетный гость
Сейчас нет на сайте
Цитата (Izaron)
int x1;
int x2;
repetare;
{

Щито это

Так називаеться функция

Добавлено (02.07.2013, 13:57)
---------------------------------------------
Програма в виде Win32


Akatsuki
-Движок:
CryENGINE 3;
- Движок:
Shiva3D Game Development Tool;
IzaronДата: Вторник, 02 Июля 2013, 14:14 | Сообщение # 990
Rammstein forever
Сейчас нет на сайте
Цитата (Akatsuki)
Програма в виде Win32

Для того, чтобы не было иероглифов, пиши:
Код
setlocale(0,"Russian");

Сразу после int main() {

Добавлено (02.07.2013, 14:14)
---------------------------------------------

Цитата (Akatsuki)
Так називаеться функция

Насколько я знаю, функции создаются так:
Код
int repertare()
{
// Чочо
}
wacko
Revolver_45Дата: Вторник, 02 Июля 2013, 16:03 | Сообщение # 991
почетный гость
Сейчас нет на сайте
Цитата (Izaron)
Насколько я знаю, функции создаются так:

Izaron, это не ошибка, если в описании функции отсутствует тип возвращаемого значения, то компиллятор по умолчанию предполагает, что функция возвращает int. Но, конечно же, так нормальные люди не пишут.


rtytyrtyr
Animan2010Дата: Вторник, 02 Июля 2013, 20:19 | Сообщение # 992
постоянный участник
Сейчас нет на сайте
А что посоветуете почитать после справочника по C++? Для дальнейшего развития, так сказать.
Думаю начать читать проектирование и шаблоны проектирования, узнаю что это такое х), может ещё что есть?


Anima Games
Animan Publishing
divol13Дата: Среда, 03 Июля 2013, 00:04 | Сообщение # 993
участник
Сейчас нет на сайте
Шилдта бери

AkatsukiДата: Среда, 03 Июля 2013, 00:34 | Сообщение # 994
почетный гость
Сейчас нет на сайте
Цитата (Izaron)
Насколько я знаю, функции создаются так:

Функция уже била создана

Добавлено (03.07.2013, 00:30)
---------------------------------------------

Цитата (Izaron)
Для того, чтобы не было иероглифов, пиши:
Код
setlocale(0,"Russian");

СПС

Добавлено (03.07.2013, 00:34)
---------------------------------------------
Обновленная версия
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;

int main()
{
setlocale(0,"Russian");
cout<<"Пишиш без a,b,c,приклад: 2 5 -12 або натиснеш на Enter и пишеш вниз,"<<endl;
cout<<"ПИШИ:"<<endl;
float D;
int repetare=0;
int a;
int b;
int c;
int x1;
int x2;
repetare;
{
while(repetare<100)
{
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
cout<<"c=";
cin>>c;
D=(b^2-(4*a*c))*(-1);
x1=(b-sqrt(D))/(2*a);
x2=(b+sqrt(D))/(2*a);
if (D>0)
{
cout<<"D="<<D<<endl;
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
cout<<"Имеет два кореня"<<endl;
}


if (D<0)
{
cout<<"D="<<D<<endl;
cout<<"Не имеет кореней"<<endl;
}
if(D=0)
{
cout<<"D="<<D<<endl;
cout<<"x1="<<x1<<endl;
cout<<"Имеет один корень"<<endl;
}
repetare++;
}
}
getche();
return 0;
}


Akatsuki
-Движок:
CryENGINE 3;
- Движок:
Shiva3D Game Development Tool;
pelmenkaДата: Среда, 03 Июля 2013, 02:09 | Сообщение # 995
Драгоценный Тунеядец
Сейчас нет на сайте
Akatsuki, черт! Ну нельзя же так делать!
Вот, посмотри это:
Код

     #include <iostream>
     #include <conio.h>
     #include <math.h>

     using namespace std;

     int main()
     {
     setlocale(0,"");
     cout<<"Программа для вычисления кореней квадратного уравнения"<<endl;
     float D;
     int a, b, c, x1, x2;
     while(true)
     {
        cout<<"Введите а: ";
        cin>>a;
        cout<<"Введите b: ";
        cin>>b;
        cout<<"Введите c: ";
        cin>>c;

        D=(pow(b,2)-(4*a*c));
        x1=(-b-sqrt(D))/(2*a);
        x2=(-b+sqrt(D))/(2*a);

        if (D>0) cout<<"Дескриминант = "<<D<<"\n"<<"Корень 1 = "<<x1<<"\n"<<"Корень 2 = "<< x2<<endl;
        else
        {
            if (D<0) cout<<"Дескриминант = "<<D<<"\nКорней нет!"<<endl;
            else cout<<"Дескриминант = "<<D<<"\n Корень = "<<x1<<endl;
            }
        cout<<"Нажмите Esc для выхода или любую другую кнопку для продолжения";

        if(getch() == 0x1b) break;
            cout<<endl;
        }
     return 0;
     }



Сталина в каждый дом!

Сообщение отредактировал pelmenka - Среда, 03 Июля 2013, 02:11
SnickДата: Среда, 03 Июля 2013, 02:37 | Сообщение # 996
почетный гость
Сейчас нет на сайте
Цитата
Шилдта бери

Цитата
после справочника по C++?

divol13, ничего не говорит?
Animan2010, можешь почитать Брюсса Эккеля. В своих книгах он довольно много говорит о проектировании и о объектах. Если ничего интересного для себя в его книге не найдёшь, то можешь почитать "Чистый код".
GameMixДата: Пятница, 05 Июля 2013, 19:10 | Сообщение # 997
старожил
Сейчас нет на сайте
Всем привет. И снова я со своим вопросом: как, используя функцию rand() записать генерирование чисел от -10 до 10, например? С положительными числами от 0 до определенного понятно, а вот с интервалами тяжело ещё.

Steel Standoff - 2D аркада.
Мои статьи
l1feДата: Пятница, 05 Июля 2013, 19:31 | Сообщение # 998
был не раз
Сейчас нет на сайте
GameMix,
От -10 до 10.
Код
rand()%21 - 10
RUNGOGET2THECHOPAHДата: Пятница, 05 Июля 2013, 19:37 | Сообщение # 999
участник
Сейчас нет на сайте
GameMix,
Случайное число на отрезке от a до b: a + rand()%(b - a + 1)
GameMixДата: Пятница, 05 Июля 2013, 20:09 | Сообщение # 1000
старожил
Сейчас нет на сайте
RUNGOGET2THECHOPAH, спасибо за подробный ответ smile

Steel Standoff - 2D аркада.
Мои статьи
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг