Write a function that reverses the contents of an array of d
Write a function that reverses the contents of an array of double and test it in a simple program.
GIVEN CODE:
#include <stdio.h>
#include <stdlib.h>
void PrintArray(int *a, int size)
{
int i;
for (i = 0; i < size; i++)
printf(\"%d\\t\", *(a+i));
printf(\"\ \");
}
int main()
{
int *pa;
int size;
int i, j;
int temp;
printf(\"Data size: \");
scanf(\"%d\", &size);
if (size < 1)
return -1;
pa = (int*) malloc( size * sizeof(int));
if (pa == NULL){
printf(\"\ Error \ \");
return -2;
}
for (i = 0; i < size; i++)
scanf(\"%d\", (pa + i));
printf(\"\ Array:\ \");
PrintArray(pa, size);
// Reverses the Array Here
printf(\"\ New Array\ \");
PrintArray(pa, size);
free(pa);
return 0;
}
Solution
#include <stdio.h>
#include <stdlib.h>
void PrintArray(int *a, int size)
{
int i;
for (i = 0; i < size; i++)
printf(\"%d\\t\", *(a+i));
printf(\"\ \");
}
int main()
{
int *pa,*z;
int size;
int i, j;
int temp;
printf(\"Data size: \");
scanf(\"%d\", &size);
if (size < 1)
return -1;
pa = (int*) malloc( size * sizeof(int));
if (pa == NULL){
printf(\"\ Error \ \");
return -2;
}
for (i = 0; i < size; i++)
scanf(\"%d\", (pa + i));
printf(\"\ Array:\ \");
PrintArray(pa, size);
// Reverses the Array Here
z = (int*) malloc( size * sizeof(int));
for(i=1;i<=size;i++)
{
z[size-i]=pa[i-1];
}
pa=z;
printf(\"\ New Array\ \");
PrintArray(pa, size);
free(pa);
return 0;
}

