Вопрос-Ответ (C++)
|
|
Kornival | Дата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1 |
The Witcher
Сейчас нет на сайте
| Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.
Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
|
|
| |
mega-ice-boy | Дата: Вторник, 18 Июня 2013, 23:13 | Сообщение # 961 |
частый гость
Сейчас нет на сайте
| Надо объявлять переменные максимум и минимум вне цикла? Это обязательно?
Добавлено (18.06.2013, 23:13) --------------------------------------------- Int igrok=100; int s; int s2; int igrok2=100; while (true) { int max=30; int min=70; s=min+(rand()%(min-max)); //генератор случайных чисел. igrok-=s; if (igrok<=0) break; } while (true) { int max2=10; int min2=5; s2=min2+(rand%(min2-max2)); igrok2-=s2; if (igrok<=0) break;
вот так можно установить диапазоны? Или как?исправьте?
Хочу стать профессиональным программистом! У меня есть терпение, ум.
Сообщение отредактировал mega-ice-boy - Вторник, 18 Июня 2013, 23:16 |
|
| |
pelmenka | Дата: Вторник, 18 Июня 2013, 23:28 | Сообщение # 962 |
Драгоценный Тунеядец
Сейчас нет на сайте
| mega-ice-boy, рандомизатор не ест переменные, только константы. int начинается с маленькой буквы. Никогда не пиши названия переменных транслитом (код станет нечитабельным). И т.д.
Сталина в каждый дом!
|
|
| |
mega-ice-boy | Дата: Вторник, 18 Июня 2013, 23:31 | Сообщение # 963 |
частый гость
Сейчас нет на сайте
| Надо объявлять переменные максимум и минимум вне цикла? Это обязательно?
Добавлено (18.06.2013, 23:13) --------------------------------------------- unsigned int igrok=100; int s; int s2; unsigned int igrok2=100; while (true) { int max=30; int min=70; s=min+(rand()%(min-max)); //генератор случайных чисел. igrok-=s; if (igrok==0) break; } while (true) { int max2=10; int min2=5; s2=min2+(rand%(min2-max2)); igrok2-=s2; if (igrok==0) break;
вот так можно установить диапазоны? И еще если есть ошибки скажите как исправить?
Хочу стать профессиональным программистом! У меня есть терпение, ум.
|
|
| |
pelmenka | Дата: Вторник, 18 Июня 2013, 23:41 | Сообщение # 964 |
Драгоценный Тунеядец
Сейчас нет на сайте
| mega-ice-boy, рандомизатор вообще переменные не ест. Только константы или числа, написаные руками. Например, что-то типа такого: Код #include <iostream> #include <stdlib.h> #include <time.h>
#define MIN 30 //Объявляем константу MIN #define MAX 70 //Объявляем константу MAX
using namespace std;
int player[] = {100, 100}, n; //Объявляем массив player, состоящий из 2-х элементов, и переменную n
int main() { srand(time(NULL)); //Инициализируем генератор случайных чисел
while(player[0] > 0 || player[1] > 0 ) //цикл прервется, если оба элемента массива будут <= 0 { for(n = 0; n < 2; n++) player[n] -= MIN+rand()%(MAX-MIN); //отнимаем от каждого элемента массива случайное число в заданном диапозоне cout << player[0] << "|" << player[1] <<endl; // просто выводим получившиеся значения } return 0; } Надеюсь нормальные комменты написал к коду
Сталина в каждый дом!
Сообщение отредактировал pelmenka - Среда, 19 Июня 2013, 00:13 |
|
| |
mega-ice-boy | Дата: Среда, 19 Июня 2013, 06:30 | Сообщение # 965 |
частый гость
Сейчас нет на сайте
| Мне нужно 3 переменные которые имеет разные диапазоны. И принимает разные случайные числа, в разном диапазоне и еще они должны использоваться в разных циклах!! ! ! Как это пишется? Или мой пример правильный?
Добавлено (19.06.2013, 06:30) --------------------------------------------- Покажите код который там 3 переменные, имеющие разные диапазоны. Первый от 5 до 10. Второй от 30 до 70. Третий от 100 до 110. И используйте их в РАЗНЫХ циклах одного кода. КСТАТИ.все эти 3 переменные имеют значение rand().но принимает случайное число в своем диапазоне... Ну давай покажите этот пример. КТО СМОЖЕТ?
Хочу стать профессиональным программистом! У меня есть терпение, ум.
Сообщение отредактировал mega-ice-boy - Среда, 19 Июня 2013, 06:33 |
|
| |
Tikara | Дата: Четверг, 20 Июня 2013, 13:50 | Сообщение # 966 |
частый гость
Сейчас нет на сайте
| Цитата (pelmenka) mega-ice-boy, рандомизатор вообще переменные не ест. Только константы или числа, написаные руками. Не вводите людей в заблуждение пожалуйста. Оператор % работает с любыми целыми числами и вовсе не обязательно им быть константными.
Как следствие, следующий пример работает без проблем:
Код int random(int min, int max){ return min+rand()%(max-min); }
Цитата (mega-ice-boy) Ну давай покажите этот пример. КТО СМОЖЕТ? Никто не сможет..
|
|
| |
pelmenka | Дата: Четверг, 20 Июня 2013, 15:15 | Сообщение # 967 |
Драгоценный Тунеядец
Сейчас нет на сайте
| Tikara, гм, ну у меня выдавало ошибку Хотя в code::blocks такое часто бывает
Сталина в каждый дом!
|
|
| |
Kozливоsc | Дата: Четверг, 20 Июня 2013, 18:02 | Сообщение # 968 |
частый гость
Сейчас нет на сайте
| Цитата (pelmenka) Хотя в code::blocks такое часто бывает как ошибка компилятора может зависеть от IDE?
"[13:30:24] <groun112> 2) Грамматику я же правельно пишу" если к последним двум цифрам года рождения прибавить наш возраст в 2011 году, то у всех сумма будет равно 111
|
|
| |
pelmenka | Дата: Четверг, 20 Июня 2013, 18:29 | Сообщение # 969 |
Драгоценный Тунеядец
Сейчас нет на сайте
| Kozливоsc, легко. Если я прикажу, то она будет зависеть от положения созвездия рака относительно угла наколна моего монитора
Сталина в каждый дом!
Сообщение отредактировал pelmenka - Четверг, 20 Июня 2013, 18:30 |
|
| |
Izaron | Дата: Четверг, 20 Июня 2013, 18:50 | Сообщение # 970 |
Rammstein forever
Сейчас нет на сайте
| Цитата (pelmenka) Kozливоsc, легко. Если я прикажу, то она будет зависеть от положения созвездия рака относительно угла наколна моего монитора +1, если в настройках покопаться, то проект легко может не скомпилиться из-за того, что где-то лежит неиспользованная локальная переменная.
|
|
| |
GameMix | Дата: Вторник, 25 Июня 2013, 10:01 | Сообщение # 971 |
старожил
Сейчас нет на сайте
| Привет, знатоки С++! К вам вопрос: как в C++Builder можно, имея один размещенный объект на форме, в определенном событии (например, нажатии кнопки) кодом создать копии того объекта, изменив в копиях некоторые свойства (например, Caption в копии Button1)?
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
Archido | Дата: Вторник, 25 Июня 2013, 17:05 | Сообщение # 972 |
Сэнсэй
Сейчас нет на сайте
| GameMix Выкинул бы ты этот C++ Builder и взял Qt например, билдер слишком уж изврат, да и устарел он.
А по теме и если мне не изменяет память, то там все аналогично как и в Delphi (ибо с билдером я почти не работал). Инициатором события (или скорее обработчиком) всегда является какой-то объект, который передается параметром в ф-ции обработки события как "TObject* Sender". Поэтому в обработчике достаточно создать новый объект, скопировать необходимые поля из Sender'a и\или дописать свои (еще вроде у TOject есть метод Assign, который и копирует содержание одного в другой).
Код void TForm::ButtonClick(TObject *Sender) { TButton* Btn = new TButton (this);
Btn->Parent = Sender->Parent; Btn->Top = Sender->Top Btn->Left = 50; Btn->Caption = "MySuperButton"; ...
Btn->Assign(Sender); //еще может так заработать, вместо копирования каждого параметра }
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Animan2010 | Дата: Среда, 26 Июня 2013, 10:43 | Сообщение # 973 |
постоянный участник
Сейчас нет на сайте
| В книге Шилдта сказано, что производный класс не наследует приватные члены базового. _i - приватная переменная базового класса, к ней можно обратиться через публичные функции set_i, get_i. Но если производный класс не наследует приватные члены базового, то почему в производном классе можно пользоваться функциями, обращающимися к этой самой закрытой переменной? Всё компилируется и работает
Код:
Anima Games Animan Publishing
|
|
| |
Archido | Дата: Среда, 26 Июня 2013, 11:21 | Сообщение # 974 |
Сэнсэй
Сейчас нет на сайте
| Цитата (Animan2010) В книге Шилдта сказано, что производный класс не наследует приватные члены базового. Не совсем варажение это правильно, он то наследует их, но не имеет к ним прямого доступа, а через паблик ф-цию базового класса как в данном случае - никаких проблем. Можешь создать в производном новую ф-цию и попытаться в ней обратиться к приватной переменной базового - получишь ошибку.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Среда, 26 Июня 2013, 11:21 |
|
| |
Animan2010 | Дата: Среда, 26 Июня 2013, 11:39 | Сообщение # 975 |
постоянный участник
Сейчас нет на сайте
| Archido, спс
Anima Games Animan Publishing
|
|
| |
GameMix | Дата: Среда, 26 Июня 2013, 19:13 | Сообщение # 976 |
старожил
Сейчас нет на сайте
| Archido, спасибо, буду пробовать
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
netskul | Дата: Понедельник, 01 Июля 2013, 15:53 | Сообщение # 977 |
был не раз
Сейчас нет на сайте
| всем ку! у меня вопрос: можно как нибудь зная правый вектор вычислить левый?
|
|
| |
Animan2010 | Дата: Понедельник, 01 Июля 2013, 19:42 | Сообщение # 978 |
постоянный участник
Сейчас нет на сайте
| Почему в C++ нельзя использовать тернарный оператор таким образом: a > 0 ? cout << a; Иногда бывает нужно выполнить одну маленькую операцию при условии, и ? короче if ( ), к тому же скобочки ставить и всё-такое. Вроде бы ? не перегружается (или же я чего-то не знаю?)
Anima Games Animan Publishing
|
|
| |
netskul | Дата: Понедельник, 01 Июля 2013, 21:07 | Сообщение # 979 |
был не раз
Сейчас нет на сайте
| Цитата (Animan2010) Почему в C++ нельзя использовать тернарный оператор таким образом: a > 0 ? cout << a; Иногда бывает нужно выполнить одну маленькую операцию при условии, и ? короче if ( ), к тому же скобочки ставить и всё-такое. Вроде бы ? не перегружается (или же я чего-то не знаю?) так нельзя ты неправильно используешь функцию cout, а вообще можно я точно не помню через оператор так как давно не пользовался делай так и всё:
Сообщение отредактировал netskul - Понедельник, 01 Июля 2013, 21:08 |
|
| |
Animan2010 | Дата: Понедельник, 01 Июля 2013, 21:09 | Сообщение # 980 |
постоянный участник
Сейчас нет на сайте
| netskul, я имею в виду: a > 0 ? cout << a : cout << 0; <- можно a > 0 ? cout << a; <- Нельзя, но хочется
Anima Games Animan Publishing
|
|
| |