2d array to 1d array code example
Example 1: array 2d to 1d
int array[width * height];
int SetElement(int row, int col, int value)
{
array[width * row + col] = value;
}
Example 2: numpy convert 1d array to 2d
import numpy as np
# 1D array
one_dim_arr = np.array([1, 2, 3, 4, 5, 6])
# to convert to 2D array
# we can use the np.ndarray.reshape(shape) function
# here shape is given by two integers seperated by a comma
# the two integers specify m,n for the new matrix
# ensure that the matrix that you are trying to generate
# has a size that meets the number of elements in the 1D array.
# for that make sure that
# m * n = number of elements in the one dimentional array
two_dim_arr = one_dim_arr.reshape(1, 6)
#which returns a 2D array
print(two_dim_arr)
# confirmed by the array.ndim attribute
print(two_dim_arr.ndim)
# you can even specify one of the dimensions as unknown by passing -1
# numpy will infer the length using the array and remaining dimensions
two_dim_arr = one_dim_arr.reshape(1,-1)
Example 3: c program to represent 2d matrix in 1d matrix
#include<stdio.h>
#define n 3
int main()
{
int a[n][n],b[n*n],c[n*n],i,j,k=0,l=0;
printf(“\n Enter elements of 2D array : “);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf(“%d”,&a[i][j]);
}
}
printf(“\n Given 2D array : \n“);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf(“%d ”,a[i][j]);
}
printf(“\n”);
}
printf(“\n Row wise \n”);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
b[k]=a[i][j];
k++;
}
}
printf(“\n Column wise \n”);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
c[l]=a[j][i];
l++;
}
}
}
Example 4: numpy convert 1d array to 2d
import numpy as np
# 1D array
one_dim_arr = np.array([1, 2, 3, 4, 5, 6])
# To convert to 2D array
# we can use the np.newaxis to increase the dimesions in a array
# Using np.newaxis will increase the dimensions of your array by one dimension when used once.
two_dim_arr = one_dim_arr[np.newaxis, :]
print(two_dim_arr)
# inserting a axis at the first index creates a row vector
print()
# for column vector, insert axis at the second index
two_dim_arr = one_dim_arr[:,np.newaxis]
print(two_dim_arr)
print()
# we can also expand an array by inserting a new axis at a specified position with np.expand_dims.
two_dim_arr = np.expand_dims(one_dim_arr,axis = 0)
print(two_dim_arr)
print()
two_dim_arr = np.expand_dims(one_dim_arr,axis = 1)
print(two_dim_arr)