0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
|
1 | |
Перебор многомерного массива через оператор for10.09.2018, 21:20. Показов 8967. Ответов 14
Метки нет (Все метки)
Ребят помогите пытаюсь решить задачу в книге уже 2 день. Какой тип нужно поставить в серийном операторе for (тип должен быть явным, то есть без auto и decltype и псевдонимы типов), и можете сказать почему такой тип.
Вот само упражнение: Напишите 3 разных версии программы для вывода элементов массива ia(многомерный).Одна версия должна использовать для управления перебором серийный оператор for, а другие две - обычный цикл for, но в одном случае использовать индексирование, а в другом указатели.Во всех 3 программах указывайте тип явно. C++
0
|
10.09.2018, 21:20 | |
Ответы с готовыми решениями:
14
При инициализации многомерного массива через сер. оператор for выводится адрес Перебор Многомерного массива Перебор многомерного массива Перебор ассоциативного многомерного массива |
166 / 109 / 57
Регистрация: 30.08.2018
Сообщений: 357
|
||||||||||||||||
10.09.2018, 23:13 | 2 | |||||||||||||||
Сообщение было отмечено Sark13 как решение
Решение
Матрица 3х3
Во внешнем цикле нужно перебирать строки матрицы а во внутреннем цикле перебирать элементы строки. Чтобы обратиться к строке, нужна ссылка на неё.
1
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
|
10.09.2018, 23:22 [ТС] | 3 |
А зачем нужно указывать в скобках и ставить после скобок [3], что это значит?
0
|
166 / 109 / 57
Регистрация: 30.08.2018
Сообщений: 357
|
|
10.09.2018, 23:27 | 4 |
Сообщение было отмечено Sark13 как решение
Решение
Это количество элементов в строке (если Матрица 3х3)
К сожалению писать [3] обязательно. это ссылка на массив
1
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
||||||
10.09.2018, 23:52 [ТС] | 5 | |||||
Спасибо, могу продвигаться дальше, не пишите я не прочитаю.
Добавлено через 7 минут А если будет например
Пишите я прочту)
0
|
166 / 109 / 57
Регистрация: 30.08.2018
Сообщений: 357
|
|||||||||||
11.09.2018, 01:32 | 6 | ||||||||||
Ссылка на двумерный массив нужна?
Строка двумер. массива это одномерный массив. Ссылка первую строку
0
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
||||||
11.09.2018, 08:04 [ТС] | 7 | |||||
Получается, что
0
|
"C with Classes"
|
||||||
11.09.2018, 08:09 | 8 | |||||
не обязательно писать это
Добавлено через 2 минуты
0
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
|
11.09.2018, 08:12 [ТС] | 9 |
Это количество элементов в строке (если Матрица 3х3)
К сожалению писать [3] обязательно. Значит [3] это кол-во элементов в самом внутреннем массиве? Или нет? Я то же не понимаю немного про двумерный массив я 2 дня искал 0 информации. И мне интересно было, потом есть sfml. Прочитай про это.
0
|
166 / 109 / 57
Регистрация: 30.08.2018
Сообщений: 357
|
||||||
11.09.2018, 10:41 | 10 | |||||
Да, это количество элементов в массиве (одномерном ), на который получаем ссылку.
Строка матрицы 3х3 -- это одномерный массив длиной 3, значит ссылка на этот массив будет
0
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
|
11.09.2018, 11:15 [ТС] | 11 |
JaponDemon, а если будет[2][11][12], то как написать к какому надо обращаться?
0
|
166 / 109 / 57
Регистрация: 30.08.2018
Сообщений: 357
|
||||||
11.09.2018, 13:06 | 12 | |||||
пятимерный )
Sark13, плохо знаю С++. И на месте отвечающего не совсем уверено себя чувствую. Попробуйте сами разобраться.
0
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
||||||
13.09.2018, 22:20 [ТС] | 13 | |||||
JaponDemon, тут столкнулся с проблемой уже в обычном операторе for.
Ошибка comparison between distinct pointer types 'int (*)[11]' and 'int*' lacks a cast [-fpermissive], не могу понять почему так происходит.
0
|
166 / 109 / 57
Регистрация: 30.08.2018
Сообщений: 357
|
|||||||||||||||||||||||||||||||
14.09.2018, 00:22 | 14 | ||||||||||||||||||||||||||||||
Сообщение было отмечено Sark13 как решение
Решение
так а что такое ia[2] ?
Матрица 2 х 11, значит в ней строки есть ia[0] и ia[1]. А строки ia[2] нет. Если без указателей, то вот же, дойти до двух:
1
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
|
14.09.2018, 08:38 [ТС] | 15 |
Спасибо, помогло.
0
|
14.09.2018, 08:38 | |
14.09.2018, 08:38 | |
Помогаю со студенческими работами здесь
15
Циклический перебор многомерного массива Как написать серийный оператор for для многомерного массива? Передача многомерного массива через Ajax Создание многомерного массива через for( for(.) ) Не хочет работать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |