Witam napisałem taki oto program i chciałbym żeby działał on dokładnie na tej zasadzie:
wskaźnik na podaną ilość cyfr, funkcja wybiera tylko liczby parzyste zwraca wskaznik z liczbami parzystymi, wypisanie liczb parzystych
Niestety problem jak widzę występuje w funkcji. Nie działa ona poprawnie.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int* parzyste (int *tab, int n);
int ilosc(int *tab, int n);
int l;
main()
{
int *liczby;
int *parz;
int n,i;
printf("podaj ilosc cyfr jakie chcesz wprowadzic");
scanf("%d", &n);
liczby=(int*)malloc(n*sizeof(int));
printf("podaj liczby");
for(i=0; i<n; i++)
{
printf("\npodaj %d liczbe: ", i);
scanf("%d", liczby+i);
}
parz=parzyste(liczby,n);
for (i=0; i<l; i++);
{
printf("\n%d", *(parz+i));
}
}
int* parzyste (int *tab, int n)
{
int *p;
int i;
l=0;
p=(int*)malloc(n*sizeof(int));
for(i=0; i<n; i++)
{
if ((*(tab+i) % 2 == 0))
{
*(p+l)=*(tab+i);
l++;
}
}
return p;
}