codice:
/* .... */

  int lastVal, allValues, *valueMatrix;

  allValues = 0;
  valueMatrix = malloc( sizeof(int) * 1 );

  do {

    scanf ("%d", lastVal);
    valueMatrix [allValues++] = lastVal;
    valueMatrix = realloc( sizeof(int) * (allValues+1) );

  } while ( !lastVal );

  free( valueMatrix );

/* .... */