@easy_katka

Как создать одномерный массив из многомерного в C++?

Привет, суть вопроса проста, есть двухмерный массив надо из него сделать одномерный,
int arrOne[7][7]; // двухмерный массив в котором есть данные 
int arrTwo[63]; // тут нужно передать данные 


//пример 
arrTwo[0] = arrOne[0][0];
//---
arrTwo[8] = arrOne[1][0];
// и так далее до 63 итераций

Ломаю голову как сделать цикл for что бы передать данные из одного в другой, какие есть мысли Господа ?

Update
for (int i = 0; i < 7; i++) {
	for (int j = 0; j < 7; j++) {
		
		bTwo [(тут переменая от 0 до 63 которую должен генерировать другой цыкл)] = binaryCode [i][j] ;
	}
	
	
}
  • Вопрос задан
  • 643 просмотра
Решения вопроса 1
sgjurano
@sgjurano
Разработчик
У вас разное число элементов в arrOne и arrTwo.

Если всё же предположить, что arrOne — это матрица 8x8, а arrTwo — массив из 64 элементов, то достаточно будет написать вот такой код:
for (size_t i = 0; i < 64; ++i) {
    arrTwo[i] = arrOne[i / 8][i % 8];
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@crazywu
Вы на верном пути, осталось объявить счетчик номера элемента до циклом и инкрементировать его в конце каждой итерации вложенного цикла. Этот счетчик и будет являться позицией элемента i,j в новом массиве
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы