|
3 / 3 / 0
Регистрация: 15.11.2019
Сообщений: 9
|
|||||||||||||||||||||||||||||||
Обращение к перемешанному вектору. Заполнение структуры с условием02.01.2020, 21:16. Показов 2810. Ответов 12
Метки структура с++ (Все метки)
Всех с новым годом и доброго времени суток! есть такой код:
их роль(из вектора рандомно)
персонаж(из вектора рандомно)
кол-во жизней и игровые карты(из 2-х векторов
P.s. Весь код разбираю с помощью книги С++ 17 STL Стандартная библиотека шаблонов
0
|
|||||||||||||||||||||||||||||||
| 02.01.2020, 21:16 | |
|
Ответы с готовыми решениями:
12
Обращение к матрице/вектору? Обращение к вектору полученному через указатель
|
|
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
||
| 02.01.2020, 21:38 | ||
|
{ int val_1, val_2; } std::vector<Some_type> a = {Some_value,Some_value,Some_value,Some_v alue,Some_value,}; a[3] - 4-ый элемент вектора a a[3].val_1 - объект val_1 4-го элемента вектора я не понял вопроса просто
1
|
||
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,406
|
|||||||||||
| 02.01.2020, 22:30 | |||||||||||
|
Sergey355, привет! С Новым Годом!
Я писал часть твоего кода. Вижу ты его расширил. Я, если честно, тоже не понял вопроса. Ещё раз, конкретно что нужно? Как обращаться к элементам перемешанного вектора? -> Он такой же как не перемешанный по своей сути и обращаться к любому вектору можно как к массиву через[]. Добавлено через 4 минуты Строки 254 и 255 в первом листинге зачем? Тем более rand уже есть в std:: и лучше так не называть свой объект. В 256 просто вместо f подай g. Генератор 1 раз вызвать и раздавать везде где надо. Сейчас закину код в редактор и посмотрю подробнее. Добавлено через 2 минуты Sergey355, у тебя у игрока у одного 30 имён? Прикольно. Добавлено через 21 минуту Sergey355, я посмотрел твой код. Честно - ужас. Как давно пишешь на C++? Дело не в том как обращаться к элементам вектора, дело в том, что у тебя в других местах полно ошибок. Я часть поправил. Я не знаю правил игры, так что полностью не смогу исправить код. Имена переменных и объектов, в том числе векторов, не должны повторяться в объявлениях. card_arr у тебя 2 раза объявлен. Перегрузка оператора побитового сдвига << объявлена в классе, но не перегружена. Рекомендую сперва глубже изучить C++. В функции
Вот что я немного поправил. Кликните здесь для просмотра всего текста
1
|
|||||||||||
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,406
|
||||||
| 02.01.2020, 22:41 | ||||||
|
Sergey355, ещё поправил.
Кликните здесь для просмотра всего текста
1
|
||||||
|
3 / 3 / 0
Регистрация: 15.11.2019
Сообщений: 9
|
|
| 03.01.2020, 14:47 [ТС] | |
|
Да, Спасибо Вам, SomniPhobia, за замечательный код. На C++ пишу не так давно, около года. Я вообще студент, это курсовой проект, хочу потом перейти на диплом, сделать свою игру с графикой. А сама игра называется "Бэнг", если будет интересно, погуглите. Да, знаю, что ужасно пишу, не спорю, нас учили на древнем C++ 98, как я понял и то, самое простое, что есть. Не так давно изучали классы, наследование, дружественные классы, ну, чтобы вы все понимали, нам давали книгу и просто говорили списывать программу из книги, ну это разве научит чему-то? Ладно, это лирика.
Ещё раз вопрос, я хочу, чтобы у меня в программе выводились 7 игроков у которых есть: 1) Имя, которое вводится с клавиатуры пользователем; 2) Роль игрока, которая берётся из массива Roli; 3) Персонаж, который берётся из массива Personazhi; 4) Жизни игрока, которые взяты у персонажа; 5) Игровые карты игрока, кол-во которых зависит от кол-ва жизней игрока, т.е. если 4, то и карты раздаются ему 4, причём из двух массивов, это Sinie_karti и Obichnie_karti. Пример вывода: Имя игрока: Вова Роль: Шериф Персонаж: Малыш Билли Кол-во жизней: 4 Карты игрока: Бэнг!,Мимо!,Мустанг,Карабин Насчёт кода строк 254 и 255, я изучал, как работает данный рандом и далее так же. Про 30 имён у 1 игрока понял, исправлю Я так и думал, что здесь нужно задавать 1, а не 30.Изучать желание есть, по тому, как нас учат в универе особо не научишься.
0
|
|
|
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
||
| 03.01.2020, 15:33 | ||
|
Добавлено через 4 минуты А на систему образования вообще надеяться нельзя, что по английскому, что по языкам программирования
1
|
||
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,406
|
||||||
| 03.01.2020, 16:46 | ||||||
Сообщение было отмечено Sergey355 как решение
Решение
Sergey355, привет ещё раз!
Я поправил код, теперь работает как надо. Проверяй. Дальше то сам допишешь? Кликните здесь для просмотра всего текста
1
|
||||||
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,406
|
||
| 03.01.2020, 16:54 | ||
|
Добавлено через 3 минуты Sergey355, тела перегрузок операторов << тоже нужны. Почему ты их не взял из предыдущего моего кода из прошлой темы? Я их по новой дописал внизу кода.
1
|
||
|
3 / 3 / 0
Регистрация: 15.11.2019
Сообщений: 9
|
|
| 03.01.2020, 19:28 [ТС] | |
|
AndryS1, я с тобой полностью согласен
Добавлено через 4 минуты SomniPhobia, Привет! Спасибо огромное, моя благодарность не знает границ! Сейчас разберусь с кодом и думаю, что допишу, если будут вопросы, я напишу сюда Добавлено через 4 минуты Ну, т.к. я учил C++ 98, где был классический rand(), то мне он приемлимее пока что. Я читал про STL-овский рандом, да, он мне больше даже нравится, буду применять на практике. Тела перегрузок я в последний момент удалил, а так они есть в моей программе. У меня вопрос, если я подключу пространство имен, то префикс std:: можно убрать или это вызовет ошибку какую?
1
|
|
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,406
|
|||
| 03.01.2020, 19:49 | |||
|
Но у меня в двух проектах в QtC++ были проблемы из-за using namespace std; так как и в std и в Qt в одной из библиотек был объявлен тип byte и возникла коллизия. Пришлось в одном заголовке (*.h) снимать using namespace std; и везде прописывать std:: Как по мне, лучше не привыкать к using namespace std; на случай, если потом будешь подключать библиотеки другие и вообще если планируешь писать на C++, чтобы не было драки имён. Добавлено через 3 минуты Что-то между using namespace std; и дописыванием std:: к каждой сущности стандартной библиотеки при вызове в коде.
1
|
|||
|
3 / 3 / 0
Регистрация: 15.11.2019
Сообщений: 9
|
|||||||
| 03.01.2020, 20:51 [ТС] | |||||||
|
Есть ещё вопрос, я понимаю, что эта строка:
1
|
|||||||
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,406
|
|||
| 03.01.2020, 21:23 | |||
|
Добавлено через 3 минуты Добавлено через 4 минуты Sergey355, ты как, разобрался в коде?
1
|
|||
|
3 / 3 / 0
Регистрация: 15.11.2019
Сообщений: 9
|
|
| 04.01.2020, 15:02 [ТС] | |
|
Привет, SomniPhobia, сижу ещё разбираюсь, спасибо за объяснение, понял теперь.
0
|
|
| 04.01.2020, 15:02 | |
|
Помогаю со студенческими работами здесь
13
Заполнение ТЧ на основании с условием Заполнение и копирование с условием Заполнение DataSet (с условием) Заполнение массива, с условием Заполнение ячеек с определенным условием Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|