Write a function that reverses the contents of an array of double and test it in
ID: 3777133 • Letter: W
Question
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 ", *(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;
}
Explanation / Answer
#include <stdio.h>
#include <stdlib.h>
void PrintArray(int *a, int size)
{
int i;
for (i = 0; i < size; i++)
printf("%d ", *(a+i));
printf(" ");
}
int main()
{
int *pa;
int size;
int i, j;
int temp;
int *s, c, d;
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
for ( c = size - 1, d = 0 ; c >= 0 ; c--, d++ )
{*(s+d) = *(pa+c);
for ( c = 0 ; c < size ; c++ )
*(pa+c) = *(s+c);
}
printf(" New Array ");
PrintArray(pa, size);
free(pa);
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.