The language is C Thanks Write a function to unzip an array
The language is C. Thanks!
Write a function to unzip an array of length 2n into two arrays of length n each:/* Unzips an array into two (opposite of zip). E.g., *c: [1, 2, 3, 4, 5, 6] * unzips into * a: [1, 3, 5] * b: [2, 4, 6] * In this case, n is 3. Returns - 1 if the input is */int unzip (int * a, int * b, int * c, int n);Solution
Program:
#include<stdio.h>
int unzip(int *a,int *b,int *c,int n){
int sizeC = sizeof(c)/sizeof(int);
if(sizeC%2 ==0){
int sizeAB= sizeof(c)/sizeof(int)/2;
int i=0;
for(i=0;i<(sizeC/2);i++){
a[i]=c[i];
b[i]=c[i+sizeAB];
}
return 0;
}else{
return -1;
}
}
int main(){
int a[]={1,2,3,4,5,6};
int *b=(int *)malloc(sizeof(a)/sizeof(int)/2);
int *c=(int *)malloc(sizeof(a)/sizeof(int)/2);
printf(\"%d\",unzip(a,b,c,sizeof(a)/sizeof(int)));
return 0;
}
