codice:
void stampaVet (int *vet, int n)
{
  for (int i = 0; i < n; i++)
    cout << vet[i];
}
void leggiVet (int *vet, int n)
{
  for (int i = 0; i < n; i++)
    cin >> vet[i];
}
nel main hai

codice:
int main()
{
  const int NMAX = 100;
  int vettore[NMAX];
  int num;
  
  cout << "Quanti elementi contiene il vettore? ";
  cin >> num;

  leggiVet (vettore, num);
  stampaVet (vettore, num);
}
in pratica non passi un vettore, ma l'indirizzo del primo elemento (scrivere il nome di un vettore senza quadre equivale a scrivere l'indirizzo del primo elemento, quindi vettore equivale a &vet[0]) e, ovviamente, il numero di elementi del vettore.
All'interno della funzione utilizzi la tecnica di indicizzazione dei puntatori, quindi è come se avessi un vettore e la gestione è uguale a quella che hai all'interno del main.
Ovviamente se modifichi il vettore la modifica avrà effetti anche nel main, visto che non passi una copia.