Пример. Преобразование двумерного массива в одномерный. Иногда надо скопировать матрицу  A размером M на N в одномерный массив B размером M*N. Очевидно, что при копировании по строкам (сначала первая строка, затем вторая  и  т.д.) элемент первой строки A[0][j] надо скопировать в B[j], элементы второй строки A[1][j]  в  B[N+j]  и  т.д.  Отсюда  следует,  что  для  любой  строки  i  элемент  A[i][j]  копируется  в B[i*N+j]. теперь осталось только в двойном цикле перебрать все элементы матрицы.

for ( i = 0; i < M; i ++ )

  for ( j = 0; j < N; j ++ )

     B[i*N+j] = A[i][j];


2009-12-19 • Просмотров [ 9090 ]