Salve ho un problema devo prendere da file un vettore di numeri interi, allocarlo dinamicamente, eliminare dal mio vettore i numeri uguali a 0 poi selezionare i numeri dispari e quelli pari e inserirli in due file diversi, uno per i pari uno per i dispari. Successivamente conteggiare quanti numeri sono dispari e quanti sono pari e quanti zeri e quale dei due array abbia un maggior numero di elementi e quale quello minore

Però in tutto questo ho un problema con la stampa del mio array allocato dinamicamente preso da file non capisco perchè non mi stampi nulla.

Questo è il mio file:
0
3
15
0
0
7
8
0
9
0
11
44
21
0
0
0
0
0
0
0

Questa è la mia libreria :

codice:
#include <iostream>
#include <cstdlib>
#include <fstream>


#define n 50


using namespace std;






typedef char Stringa [n];


void carica_file(Stringa N, fstream &f, int *);
void carica_vettore(Stringa nome, fstream &, int *, const int);
void stampa(int *, const int);
Questa sono le mie funzioni:

codice:
#include "numeri.h"


void carica_file(Stringa nome, fstream &f, int *size){
    
    int dim=0;
    int vet[dim];
    
    cout<<"Inserisci nome del file da caricare: ";
    cin.getline(nome, n-1, '\n');
    f.open(nome, ios::in);
    if(!f){
        
        cout<<"Eroore in fase di apertura del file \n";
        exit(1);
        
    }else{
        while(!f.eof()){
            
            f>>vet[dim];
            dim++;
            
        }
        
        *size=dim;    
    
    }
    


    
}




void carica_vettore(Stringa nome, fstream &f, int *vet, const int d){
    
    for(int i=0; i<d; i++){
        
        f>>vet[i];
        
    }
    


    
}


void stampa(int *v, const int dimensione){
    
    cout<<"\n Stampo il vettore: \n";
    for(int i=0; i<dimensione; i++){
        
        cout<<v[i]<<" ";
        
    }
    
}
Questo è il mio main:

codice:
#include "numeri.h"


int main(){
    
    Stringa nome_file;
    fstream file;
    int dim;
    
    carica_file(nome_file, file, &dim);
    
    int *vettore= new int[dim];
    
    carica_vettore(nome_file, file, vettore, dim);
    stampa(vettore, dim);
    
}

Questo è quello che mi stampa la linetta non si arresta mai e non mi stampa niente.

3.png