Witam, mam problem ze znalezieniem błędów w kodzie. prosiłbym bardzo o pomoc. W załączniku jest treść zadania. Z góry dziękuję :)
#include <stdlib.h>
#include <stdio.h>
int *wczytaj(int n)
{
int *tab = NULL;
int x, i;
tab = (int*)malloc(n * sizeof(int));
for (i = 0; i < n; i++)
{
while (scanf("%d", &x), x > 0);
scanf("%d", tab + i);
}
return tab;
}
void drukuj(int *tab, int n, char zn)
{
int i;
if (zn == 'p')
{
for (i = 0; i < n; i++)
{
if (tab[i] % 2 == 0)
{
printf("%d", tab[i]);
}
}
}
else if (zn == 'np')
{
for (i = 0; i < n; i++)
{
if (tab[i] % 2 == 1)
{
pritnf("%d", tab + i);
}
}
}
else
{
for (i = 0; i < n; i++)
{
printf("%d", tab[i]);
}
}
}
int *utorz(int *tab, int n, int ktora, int *n1)
{
int i;
int *tab1 = NULL;
if (ktora >= 1 && ktora < n)
{
for (i = 0; i < n; i += ktora)
{
tab1 = (int*)realloc(tab1, i * sizeof(int));
tab[i] = tab1[i];
n1++;
}
}
else
{
for ( i = 0; i < n; i++)
{
tab[i] = tab1[i];
n1++;
}
}
return tab1;
}
int main()
{
int n, ktora;
char zn = '0';
int *tab2 = NULL;
printf("podaj wielkosc tablicy");
while (scanf("%d[^\n]", &n), n > 0);
wczytaj(n);
printf("podaj co ktora liczbe wyswietlic");
scanf("%d", &ktora);
tab2 = utworz();
printf("podaj znak parzystosci");
scanf("%s", &zn);
drukuj(tab2,n,zn);
free(tab2);
}