ghdfgdg G ghdfgdg Регистрация 7 Ноя 2012 Сообщения 84 Репутация 0 Спасибо 0 Монет 0 24 Авг 2021 #1 Нужно сделать массив, количество элементов в котором будет равно переменной. В этой части кода: int randomSongsMax = songsNames.size(); int randomSongsAdded[randomSongsMax]; Пишет ошибку "Переменную randomSongsMax невозможно использовать как константу" Если добавить перед "int" слово "const" ошибка не исчезает. songsNames.size(); это получение количества элементов в map.
Нужно сделать массив, количество элементов в котором будет равно переменной. В этой части кода: int randomSongsMax = songsNames.size(); int randomSongsAdded[randomSongsMax]; Пишет ошибку "Переменную randomSongsMax невозможно использовать как константу" Если добавить перед "int" слово "const" ошибка не исчезает. songsNames.size(); это получение количества элементов в map.
tekken1671q T tekken1671q Регистрация 4 Июн 2013 Сообщения 81 Репутация 0 Спасибо 0 Монет 0 24 Авг 2021 #2 Нужен std::vector, там вообще кол-во не надо указывать, просто добавляешь и он растягивается сам под нужный размер Ты же используешь вон std::map, значит вместо массивов используй std::vector, а не солянку делай и C++ (map) и Си (массивы) Позитивный голос 0
Нужен std::vector, там вообще кол-во не надо указывать, просто добавляешь и он растягивается сам под нужный размер Ты же используешь вон std::map, значит вместо массивов используй std::vector, а не солянку делай и C++ (map) и Си (массивы)
lumen L lumen Регистрация 14 Окт 2013 Сообщения 84 Репутация 0 Спасибо 0 Монет 0 24 Авг 2021 #3 Либо вктор, либо связный список. Я за вектор. Позитивный голос 0
llleha L llleha Регистрация 5 Ноя 2013 Сообщения 84 Репутация 0 Спасибо 0 Монет 0 24 Авг 2021 #4 Стало быть нужно использовать динамический массив или контейнер Позитивный голос 0
mili M mili Регистрация 7 Сен 2013 Сообщения 86 Репутация 1 Спасибо 0 Монет 0 24 Авг 2021 #5 // Этот код получает из std::map целые значения и вставляет их в std::vector, который сортирует по возрастанию и выводит результат в консоль #include <algorithm> #include <iostream> #include <map> #include <vector> using namespace std; int main() { map<char, int> box{ { 'a', 8 }, { 'b', 5 }, { 'c', 7 } }; vector<int> num; for (const auto& [key, value] : box) num.push_back(value); sort(num.begin(), num.end()); for (auto value : num) cout << value << ' '; puts(""); system("pause > nul"); } Позитивный голос 0
// Этот код получает из std::map целые значения и вставляет их в std::vector, который сортирует по возрастанию и выводит результат в консоль #include <algorithm> #include <iostream> #include <map> #include <vector> using namespace std; int main() { map<char, int> box{ { 'a', 8 }, { 'b', 5 }, { 'c', 7 } }; vector<int> num; for (const auto& [key, value] : box) num.push_back(value); sort(num.begin(), num.end()); for (auto value : num) cout << value << ' '; puts(""); system("pause > nul"); }
milov32 M milov32 Регистрация 1 Дек 2013 Сообщения 95 Репутация 0 Спасибо 0 Монет 0 24 Авг 2021 #6 Резервируй память для создания такого массива и используй указатель. Позитивный голос 0