Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231

Особенный массив

30.01.2018, 13:11. Показов 1683. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Не знал даже, как тему назвать, возможно ли в с++ сделать подобный массив:
array[2, "string1", "string2" ] = 300;
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.01.2018, 13:11
Ответы с готовыми решениями:

Особенный палиндром
Нужно проверить строку на палиндром. Только есть особенность: к примеру дана строка: helloolleh (вывод - да) но строка к примеру:...

Особенный партионный учет(1с 8.2)
Всем привет.Народ, в колледже задали организовать партионный учет, но вся фишка в том что запросы нельзя использовать.Как такое возможно...

Сверстать особенный список
Добрый день. Есть вопрос как сверстать такую штуку. Есть список в строку. Первый и последний елемент должны быть на всю ширину, а те что...

19
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
30.01.2018, 13:21
В чем его особенность обрисуйте словами.
0
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
30.01.2018, 13:34  [ТС]
обычный массив пишется так:
int i[] = {1,2,3};
Здесь одного типа данные, а как разного сделать?
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
30.01.2018, 13:37
Цитата Сообщение от Helldrg Посмотреть сообщение
Здесь одного типа данные, а как разного сделать?
Цитата Сообщение от Helldrg Посмотреть сообщение
array[2, "string1", "string2" ] = 300;
Эм, и какая между этим связь?
0
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
30.01.2018, 13:42  [ТС]
Цитата Сообщение от alex white Посмотреть сообщение
В чем его особенность обрисуйте словами.
Цитата Сообщение от Helldrg Посмотреть сообщение
обычный массив пишется так:
int i[] = {1,2,3};
Здесь одного типа данные, а как разного сделать?
Для начала с этим надо разобраться
0
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 13:48
Посмотрите в сторону std::tuple
0
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
30.01.2018, 13:57  [ТС]
По хорошему лучше структуру сделать и уже после массив структур, но форма записи там такой не будет
0
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 14:02
Лучший ответ Сообщение было отмечено Helldrg как решение

Решение

Знаю гуглить это выше ваших сил
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <tuple>
#include <iostream>
#include <string>
#include <stdexcept>
 
std::tuple<double, char, std::string> get_student(int id)
{
    if (id == 0) return std::make_tuple(3.8, 'A', "Lisa Simpson");
    if (id == 1) return std::make_tuple(2.9, 'C', "Milhouse Van Houten");
    if (id == 2) return std::make_tuple(1.7, 'D', "Ralph Wiggum");
    throw std::invalid_argument("id");
}
 
int main()
{
    auto student0 = get_student(0);
    std::cout << "ID: 0, "
              << "GPA: " << std::get<0>(student0) << ", "
              << "grade: " << std::get<1>(student0) << ", "
              << "name: " << std::get<2>(student0) << '\n';
 
    double gpa1;
    char grade1;
    std::string name1;
    std::tie(gpa1, grade1, name1) = get_student(1);
    std::cout << "ID: 1, "
              << "GPA: " << gpa1 << ", "
              << "grade: " << grade1 << ", "
              << "name: " << name1 << '\n';
}
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
30.01.2018, 14:15
std::map + std::tuple возможно вам подойдет.
1
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 14:17
а мапа там зачем?)
0
 Аватар для COKPOWEHEU
4079 / 2677 / 432
Регистрация: 09.09.2017
Сообщений: 11,888
30.01.2018, 14:22
чтобы отображать строку на индекс массива, наверное
1
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 14:27
Зачем, если Бог придумал функцию гет? спецом же пример дал)))
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
30.01.2018, 15:29
Цитата Сообщение от 1Вирт1 Посмотреть сообщение
Науя если Бог придумал функцию гет? спецом же пример дал)))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <tuple>
#include <map>
#include <string>
#include <iostream>
 
int main()
{
    std::map<std::tuple<int, std::string, std::string>, int> container;
    container[std::make_tuple(2, "string1", "string2")] = 300;
    std::cout << container[std::make_tuple(2, "string1", "string2")];
 
    std::cin.get();
    return 0;
}
0
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 15:34
окей а если я захочу держать таплы не только с такими типами?) суть вопроса была в создании массива который может содержать разные типы это тапл в плюсах. вопрос закрыт)
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
30.01.2018, 15:40
Цитата Сообщение от 1Вирт1 Посмотреть сообщение
окей а если я захочу держать таплы не только с такими типами?) суть вопроса была в создании массива который может содержать разные типы это тапл в плюсах. вопрос закрыт)
тапл не массив, и в рантайме вы добавить новый тип в него не сможете.
ТС хотел массив структур...
Цитата Сообщение от Helldrg Посмотреть сообщение
По хорошему лучше структуру сделать и уже после массив структур
Добавлено через 9 секунд
Ну да ладно...
0
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 15:42
я образно сказал, нет не массив а кортеж значений. хотите подискутировать обращайтесь в личку я вас с удовольствием опущу
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
30.01.2018, 21:52
Цитата Сообщение от Helldrg Посмотреть сообщение
Добрый день! Не знал даже, как тему назвать, возможно ли в с++ сделать подобный массив:
array[2, "string1", "string2" ] = 300;
Конечно map. При чём:
map<int. map<string. map<string, T>>>
Здесь T псевдокодом означает - тип элементов массива (вероятно int поскольку 300 же )) ). Мапы нужны для того, чтобы обеспечить уникальность "индексации". В обычном массиве индексы не повторяются. Или их сочетания если не одномерном речь. Мне так кажется.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
30.01.2018, 22:04
Цитата Сообщение от Helldrg Посмотреть сообщение
возможно ли в с++ сделать подобный массив:
array[2, "string1", "string2" ] = 300;
да.
только это будет не массив, а контейнер.
0
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
30.01.2018, 22:35  [ТС]
lArtl
я не хотел массив структур)), просто это один из вариантов, причем самый простой и наглядный)
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
30.01.2018, 23:38
Цитата Сообщение от Helldrg Посмотреть сообщение
я не хотел массив структур)), просто это один из вариантов, причем самый простой и наглядный)
Окей

Добавлено через 52 минуты
Тогда последняя наброс... использовать std::vector + std::any || std::variant
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.01.2018, 23:38
Помогаю со студенческими работами здесь

Enum AttributeTargets какой-то особенный?
Привет! Если написать выражение (AttributeTargets.Class | AttributeTargets.Method), то в отладчике VS значение этого выражения будет...

Нет звука, особенный случай:)
Можете сказать, почему у меня только в программе драйвера есть звук? вот в этой программе нажимаю play, у меня срабатывают динамики... А...

HDD 80 Гб - особенный!(Комп не грузится)
Ребят тут в общем такая проблема: походу системе не хватает питания, я решил отключить 1 из 3 HDD ( Вестерн 1 Тб, Сегейт 320 Гб и Сегейт 80...

Как прошить P5LD2 SE? (Особенный случай)
Расскажу с самого начала. Друг дал материнку без процессора, я пошел купил обычный одно-ядерный процессор Celeron 430 вставил, запускаю...

У меня какой то особенный System.Windows.Media?
Здравствуйте. Пишу библиотеку классов на .NetFramework 4.5.2, потребовалась нужда использовать пространство имен System.Windows.Media....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru