Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2018, 12:57   #1
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
Вопрос Как работать с foreach и двухмерным безмерным массивом?

Добрый день! У меня возникл вопрос: как вывести содержание двухмерного безразмерного массива? С одномерным проблем нет, а с двух мерным уже не понятно. Вот так с одномерным:
Код:
char mas3[] = {10, 20, 30, 40};
	for(int x : mas3)
	{
		cout << x << " ";
	}
А как например с двухмерным хотя бы? В книге нет даже с одномерным массивом, там только как объявлять сам массив, это на пол страницы. В интернете вычитал, а с двух мерным не нашёл...
Зря я сэкономил на страницах, толком ничего не пишут.
Спасибо за ответ!
Мaкс вне форума Ответить с цитированием
Старый 26.07.2018, 13:03   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А попробовать в лоб сложно было?
Код:
#include <iostream>
 
int main() {
	int test[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
 
	for(auto& arr : test)
	{
		for(auto& el : arr)
		{
			std::cout << el << " ";
		}
		std::cout << std::endl;
	}
}
p51x вне форума Ответить с цитированием
Старый 26.07.2018, 13:06   #3
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
#include <iostream>

int main() {
int test[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

for(auto& arr : test)
{
for(auto& el : arr)
{
std::cout << el << " ";
}
std::cout << std::endl;
}
}
Тут же массив не безмерный? И что это такое: "&" где auto?
Мaкс вне форума Ответить с цитированием
Старый 26.07.2018, 13:10   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А где в вашем примере безразмерный? То, что вы не указали ничего в [] только говорит компилятор посчитай сам сколько в инициализаторах.

Можете так написать:

Код:
#include <iostream>
 
int main() {
	int test[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
 
	for(auto& arr : test)
	{
		for(auto& el : arr)
		{
			std::cout << el << " ";
		}
		std::cout << std::endl;
	}
}
Хотите безразмерностей - берите вектор векторов.
p51x вне форума Ответить с цитированием
Старый 26.07.2018, 13:15   #5
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Было не сложно догадаться... К тому же разница не большая... Без разница я знал и использовал. Слишком зациклился.
Спасибо, p51x!
Мaкс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написала код программы для работы с двухмерным массивом, но она работает не так,как должна. помогите, пожалуйста, где ошибка. Diana111 Общие вопросы C/C++ 1 29.12.2017 10:45
Помогите с Двухмерным массивом в Делпфи MrMorj Помощь студентам 5 20.03.2016 09:56
Как работать с массивом компонентов dardreams Компоненты Delphi 18 04.03.2009 10:09
Операция с двухмерным массивом Freeman007 Общие вопросы C/C++ 4 01.12.2008 19:37
Pascal. Задача с двухмерным массивом The_deviLs Помощь студентам 4 07.11.2007 21:51