|
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
|||||||
Библиотека STL, + задача с её использованием31.08.2012, 20:18. Показов 6948. Ответов 19
Метки нет (Все метки)
Доброго времени суток, о существовании библиотеки шаблонов я узнал 2 недели назад.
У меня есть задача:
То есть с двумерными массивами понятно Matrix[номер строки] [номер элемента]=значение; А вот с контейнерами библиотеки шаблонов возникают вопросы, при том, что если размер матрицы не соответствует(меньше) адресуемого элемента, то нужно создать(хотя бы выделить память) все элементы до адресуемого элемента.
0
|
|||||||
| 31.08.2012, 20:18 | |
|
Ответы с готовыми решениями:
19
Библиотека STL Библиотека STL библиотека STL |
|
Twilight Parasite
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
|
|
| 31.08.2012, 20:54 | |
|
tihonya, заполняеш вектор строку, и пушиш его в вектор столбец
0
|
|
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||||||
| 31.08.2012, 20:57 | ||||||
0
|
||||||
|
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
||||||||||||||||
| 31.08.2012, 21:34 [ТС] | ||||||||||||||||
|
Nick Alte, ошибка в 22-й строке:
Error 1 error C3493: 'w' cannot be implicitly captured because no default capture mode has been specified c:\users\toha\documents\visual studio 2010\projects\dddddd\dddddd\main.cpp 22 Ладно придется кидать код: SudokuItem.h
0
|
||||||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 31.08.2012, 21:44 | ||
|
tihonya,
0
|
||
|
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
||
| 31.08.2012, 21:48 [ТС] | ||
((Если не так то как должно быть??? (22 строка)?
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 31.08.2012, 21:49 | ||||||
|
tihonya,
0
|
||||||
|
342 / 306 / 36
Регистрация: 16.06.2009
Сообщений: 486
|
||||||
| 31.08.2012, 21:49 | ||||||
|
tihonya,
0
|
||||||
|
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
||||||
| 31.08.2012, 23:26 [ТС] | ||||||
|
Это конечно работает.
Все равно немного непонятно как реализовать функцию add ? То есть я не совсем понимаю, что происходит в алгоритме "for_each" и дальше. (я знаю для чего предназначен этот алгоритм). Если можно, кто шарит, на словах пояснить что его делать? (Чтоб принимались адрес ячейки(x,y)(или просто х (тогда push_back()) , и само значение ячейки), И в результате заполнялась матрица??? То есть если просто вектор, одномерный , то достаточно и этого:
Зы: простите если туплю....
0
|
||||||
| 31.08.2012, 23:35 | |
|
не повезло тебе с примером. вектор удобен там, где заранее неизвестно, сколько элементов он будет содержать, или их количество будет меняться "по ходу дела".
а зачем это городить в судоку - непонятно. или отвлекись от судоку, или от векторов. иначе получится "как можно с помощью калаэдра забить/извлечь гвоздь".
0
|
|
|
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
|
| 31.08.2012, 23:39 [ТС] | |
|
novi4ok, Мне не так важно вектор это или множество set, или любой другой контейнер, мне главное понять как оно работает, и писать в дальнейшем программы с помощью библиотеки STL, и для этого я пишу этот пример. Какой другой контейнер лучше использовать? и почему?
Мне нужно понять и разобраться.
0
|
|
|
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
||||||
| 31.08.2012, 23:59 | ||||||
|
Может что-то не так понял, но из вышесказанного функцию add вижу как-то так:
0
|
||||||
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||
| 01.09.2012, 00:33 | |||||||
0
|
|||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 01.09.2012, 01:00 | |
|
lazybiz, А чем здесь плох тот же std::array? Да и вектор здесь впринципе нормально подходит.
0
|
|
| 01.09.2012, 01:30 | ||||||||||||
|
не в попроще дело. у судоку - матрица 12х12. все.
неудачный пример судоку для освоения stl, продолжаю считать. для изучения подходят примеры, позволяющие сосредоточиться именно на удачном выборе, скажем, вектора для решения данной задачи. а здесь - никакого преимущества. Добавлено через 7 минут
int - количество элементов за ним - n int элементов. тебе нужно их принять, сохранить, и затем ответить на запросы типа "выдай среднее", "выдай наименьшее", "выдай наибольшее" и т.д. вот здесь вектор был бы очень удобен. ты заранее не знаешь, сколько элементов будет в сообщении, и использование массива не так удобно было бы. set - другой тип контейнера, map, multimap, list, queue и прочая команда. почитай: http://www.cplusplus.com/reference/stl/
1
|
||||||||||||
|
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 113
|
|||||||||||||||||||||||
| 01.09.2012, 22:13 [ТС] | |||||||||||||||||||||||
|
Чтоб выучить любой язык программирования нужно писать на нем программы, я не знаю другого пути. Есть вещи которые не получается выучить по литературе, но я без условно к ней обращаюсь. Все и сразу выучить не могу, но по мере скромных сил стараюсь... Буду отписывается об успехах с этой задачей в этой теме. novi4ok, Ссылка интересная, запомнил буду листать. Мне хочется верить, что я напишу ещё не один пример с использованием STL, и не важно удачный он или не удачный.... Пока есть этот. Добавлено через 20 часов 43 минуты Продолжу с этим примером: Приведенный ниже код уже компилируется, проблема 1) оно осуществляет вывод матрицы, отмечает цветом выделенный элемент и перемещает цветовой маркер только вправо, как мне доработать(исправить) код чтоб маркер перемещался по всему размеру матрицы?(верх, вниз, право, лево). SudokuItem.h
0
|
|||||||||||||||||||||||
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
| 02.09.2012, 01:26 | ||||||
1
|
||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 02.09.2012, 08:44 | |
|
for_each от лукавого.
0
|
|
| 02.09.2012, 08:44 | |
|
Помогаю со студенческими работами здесь
20
Стандартная библиотека C++ и STL Библиотека шаблонов STL Библиотека STL, сортировка Библиотека стандартных шаблонов STL библиотека STL, гарантированное планирование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|