Złe dane wyjsciowe

AN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 78
0

Witam! Mam do napisania program w C. Ze na poczatku tworzona jest tablica dynamiczna 10 elementowa, program wczytuje dane az nie zostanie wpisana 1, a potem wypiusje od tyu, w razie wypadku czyli jak bedzie za malo elemntow tablicy, to nalezy ja powiekszyc: no to napisalem cos takiego:

Kopiuj
#include <stdio.h>
#include <stdlib.h>


main()
{	int n = 10;
	int i=0;
    int* tab = (int*) malloc(n*sizeof(int));
	scanf("%u", tab);
	while(tab[i]!=-1)
	{
		if(i>n)
		{
		 	realloc(tab,((n+1)*sizeof(int)));
		 	n=n+1;
		}
		i++;
		scanf("%u", &tab[i]);
	}
	while(i>0)
	{
	i--;
	printf("%u ", tab[i]);
	}
	return 0;
} 

no ale wypisuje mi w niektorych miejscach duze liczby, jakich nie wpisalem... co jest nie tak?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

if(i+1>=n) lub if(i+2>n)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.