Cześć, mam problem z programem. Trzeba w nim zaimplementować tablice 10 elementową. I dalej już procedury tak jak do stosu, czyli jeśli wartość jest dodatnia to umieszczamy ją na stosie, jeśli równa 0 to pobieramy ze stosu, a jeśli przepełnienie lub niedomiar to zwraca nam 0. Problemem jest wyjście programu, mianowicie
powinno ono wyglądać tak:
1
2
3
4
0
5
6
7
8
0
0
9
10
11
12
13
14
15
0
0
0
0
0
0
A wygląda tak:
4
8
7
0
0
0
12
11
10
Na ten moment wygląda program tak:
Czy ktoś jest w stanie wychwycić tutaj błąd?
#include <stdio.h>
int pop(int tab[10], int przep)
{
if (przep == 0)
return tab[przep] = 0;
else
return tab[przep + 1];
}
int push(int tab[10], int element, int przep)
{
if (przep > 9)
return tab[przep] = 0;
else
{
tab[przep] = element;
}
}
int main(void)
{
int tab[10], element, przep = 0, b;
while (scanf("%i", &element) != EOF)
// printf("%i\n",element);
{
if (element > 0)
{
przep = przep + 1;
push(tab, element, przep);
}
else
{
przep = przep - 1;
printf("%i\n", pop(tab, przep));
}
}
return 0;
}