![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.01.2018
Сообщений: 49
|
![]()
Задача состоит в создании массива, который будет хранить название витаминов.
Если название витамина состоит из одной буквы, то проблемы нет: char vitamins[20]; for (int i = 0; i < 20; i++) cin >> vitamins[i]; А что делать, если витамин называется "PP" или "B1", как тогда создавать массив? Возможно ли задать размерность одному элементу массива? Через строки нельзя, т.к. в дальнейшем надо будет выводить продукты, которые содержат витамины введенные пользователем (работа с массивами char). |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
И что?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.01.2018
Сообщений: 49
|
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
А если без строк, то выдаст?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 11.01.2018
Сообщений: 49
|
![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 11.01.2018
Сообщений: 49
|
![]()
Мне надо предварительно создать массивы, которые хранят витамины допустим трех продуктов. Например яблоко - А, Б, С, Д, картошка - С, Е, яйцо - С, Д. У меня вообще по условию витамины типа PP, B1, я из-за этого и спрашиваю как записать в один элемент несколько символов. Вот, а потом пользователь должен ввести любые витамины, и ему выдает продукты, содержащие эти витамины. Например, пользователь ввел витамины Д, С. Компилятор функциями сверяет массивы и выдает "яблоко" и "яйцо". Из-за этого я и не использую строки. У меня так-то задача получается, но как создать витамины типа B1, PP я не знаю.
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Что вы с ним такое сделаете, что выдаст?
"два символа" это внезапно и есть строка. У std::string есть функция для поиска символа. Ну или более эффективные std::set/std::unordered_set, но для нескольких символов вряд ли есть смысл.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
![]()
ТС, это делается через индексы.
char vitamins[n][5] = {"A", "B1", и другие}; А запоминаешь индексы для этого массива в другом массиве. Если надо вывести, просто берёшь индексы и обращением к массиву получаешь нужные строчки.
a.k.a. Angelicos Phosphoros
Мой сайт |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 11.01.2018
Сообщений: 49
|
![]()
Да, хороший способ. Но я не могу заранее записать в код какие витамины будут в массиве, потому что они вводятся через cin.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
1. Задан двумерный целочисленный массив Х(6,6). Найти минимальный элемент каждой строки и максимальный элемент каждого столбца массива и записать их в одномерный массив А. | Greeb S | Фриланс | 5 | 15.12.2016 10:48 |
Записать элементы массива X, удовлетворяющие условию Х[12], подряд в массив Y =. Определить минимальный элемент массива X. | полин@ | Общие вопросы C/C++ | 0 | 03.10.2016 14:37 |
Как преобразовать элемент массива типа char в int? | neonakaneya | Общие вопросы C/C++ | 20 | 04.01.2012 20:28 |
Записать несколько одинаковых типов в один файл | Человек_Борща | Общие вопросы Delphi | 7 | 21.12.2010 22:39 |
Как сделать, чтобы один элемент списка в ComboBox писался в несколько строк? | Andr | Общие вопросы Delphi | 5 | 15.08.2007 22:24 |