Problem je sledeci. Program ispravno radi, nego ono sto me kopka jeste kako realocirati memoriju pokazivaca tako da oni ne zauzimaju vise mesta nego sto je neophodno. Molim vas za pomoc vec dugo muku mucim oko ovoga. Program je sledeci:
void pot (int *a, int *n, int *b) {
int i, j=0;
/* Problem je ovde! Hocu da svedem niz na broj potrebnih elemenata. */
for (i=0;i<*n;i++) {if ((a%2)==0) b[j++]=a;}
*n=j;
}
#include <stdio.h>
#include <stdlib.h>
#define N 30000
main () {
int a[N], b[N];
int n, i;
for (;;) {
printf("\nUnesi broj elemenata niza: \n");scanf("%d",&n);
if (n<0) break;
printf("\nUnesi sada celobrojne elemente niza: \n");
for (i=0;i<n;scanf("%d",&a[i++]));
pot(a,&n,b);
printf("\nNovi niz bez neparnih brojeva je: \n");
for (i=0;i<n;printf("%d ",b[i++]));
printf("\nNovi broj elemenata niza je sada %d.",n);
}
}
Pokusao sam na vise nacina ali mi nije u redu bilo ni jedan put. Vapaj za pomoc.