|
dfgpdofijg
|
|
Сортировка трехмерного массива09.07.2014, 11:34. Показов 5271. Ответов 49
Метки нет (Все метки)
|
|
| 09.07.2014, 11:34 | |
|
Ответы с готовыми решениями:
49
Сортировка трехмерного массива Сортировка трехмерного массива (куба) |
|
885 / 538 / 230
Регистрация: 21.02.2011
Сообщений: 5,705
|
||||||
| 29.01.2025, 12:45 | ||||||
|
то есть такой код полная х*е*а? или все же, так можно сделать для решения задачи ТС??
0
|
||||||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|
| 29.01.2025, 13:03 | |
|
0
|
|
|
Неэпический
|
|
| 29.01.2025, 13:39 | |
|
0
|
|
|
|
||||||||
| 29.01.2025, 13:42 | ||||||||
0
|
||||||||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
||
| 29.01.2025, 13:43 | ||
|
я же просил доказать, что в С++ есть трехмерные массивы по внутренней реализации. И вся эта тема со многомерными массивами давно разжевана. Тут на форуме помню, что один эксперт даже говорил, что в самом стандарте многомерные массивы даже не упоминаются, только в каких-то сносках и примечаниях. Я в стандарт не смотрел, но поверю ему на слово.
0
|
||
|
Неэпический
|
||||
| 29.01.2025, 13:49 | ||||
p - это указатель на двумерный массив ![]() Опять же, не нужно путать указатель с массивом. int* p - это указатель на один int, а не на массив.Добавлено через 1 минуту Добавлено через 2 минуты К слову, теме больше 10-ти лет.
0
|
||||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
||
| 29.01.2025, 13:57 | ||
|
Нельзя вырывать слово из контекста и вводить всех и вся в заблуждении. В контексте этой темы ТС просит сортировку трехмерного массива. И ничего не случится, если мы будем использовать int[1000] который can be viewed as трехмерный массив по семантике. Конечно, семантика вещь субъективная. Но в контексте данной конкретной задачи int[1000] полностью удовлетворяет критерии для трехмерного массива. А тут уже началась ахинея, а ведь он может быть и двумерным... Речь не в том, чем он может быть вообще. А в том, чем он может быть в конкретной задаче.
0
|
||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|||
| 29.01.2025, 14:02 | |||
|
0
|
|||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||||||||||||||||||
| 29.01.2025, 14:02 | ||||||||||||||||||
|
Рассмотрим ещё раз исходное заявление: И вот тут возникают сразу две проблемы. Первая проблема:
Некорректно разыменовывать end-итератор: Вторая проблема связанна с ограничением арифметических операций по отношению к указателям. Даже если мы не будем разыменовывать указатель, а просто захотим итерировать его значение от начала до конца многомерного массива, то мы уже налетим на UB. Следующий пример иллюстрирует эту проблему:
Максимальное значение указателя, который мы проинициализировали адресом элемента массива, может быть равно std::end(arr)Но если попытаться увеличить это предельное значение ещё хотя бы на единицу, тогда поведение станет неопределенным:
1
|
||||||||||||||||||
|
|
|||
| 29.01.2025, 14:09 | |||
|
0
|
|||
|
Неэпический
|
||||
| 29.01.2025, 14:14 | ||||
![]() Вот как раз с точки зрения C++ - объявление задает семантические свойства. ![]() Добавлено через 1 минуту
0
|
||||
|
|
||
| 29.01.2025, 14:20 | ||
|
По моему, тут опасность есть если только массив состоит из структур, когда компилятор выравнивает каждый [] на определенное значение. А если просто выродить многомерный массив в простой, то тут может действительно произойти UB..
0
|
||
|
|
|
| 29.01.2025, 14:26 | |
|
0
|
|
|
Неэпический
|
|
| 29.01.2025, 14:29 | |
|
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
||||||||||||||||||
| 29.01.2025, 14:31 | ||||||||||||||||||
|
Вот когда дают задачу создать одномерный массив целых чисел. Я же без проблем могу создать double arr[] и заполнить его целыми числами. Или вы мне скажете, что нужно было взять int или long, или long long... А я вам отвечу, что числа, имеющие тип int или long, или long long, не равносильны математическому определению множества целых чисел. Соответственно, никто не мешает использовать double массив для представления целых чисел. Конечно, язык С++ обделил так называемые integer types и integral types семантически ближе к целым числам (в значении математики) свойствами, и именно по этой причине дефолтно или в большинстве случаев программисты будут использовать именно их для преставления целых чисел (в значении математики). Но это никак не запрещает использовать другие типы или даже кастомные классы и структуры и называть их по семантике целыми числами или массивами целых чисел. Так что, К тому же, Алексей не говорил, что он собирается сделать
Возможно, он вообще имел в виду принять как int A[10][10][10]; потом превратить в одномерный размером 1000 путем цикла, создав другую переменную.
1
|
||||||||||||||||||
|
Неэпический
|
|||
| 29.01.2025, 14:37 | |||
|
Ну ладно, вспомним былое:
Как видим из цитат далее - многомерные массивы есть. Что такое "по реализации" вы так и не ответили. В C++ массив:
Придуманная Вами семантика чего-либо и реализация - это ваши выдумки. В C++ с этим всё ясно. В контексте задачи Вы можете, на мой взгляд, использовать что угодно в рамках разумного, но это не говорит о том, что в C++ нет многомерных массивов.
0
|
|||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|||
| 29.01.2025, 14:44 | |||
|
0
|
|||
|
Неэпический
|
|
| 29.01.2025, 14:45 | |
|
0
|
|
| 29.01.2025, 14:45 | |
|
Выделить память для трехмерного массива и изменить индексы начального элемента массива Заполнение трехмерного массива Заполнение трехмерного массива Сумма элементов трехмерного массива Заполнить срез трехмерного массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|