Ciao ragazzi, ho questo esercizio da svolgere ma non riesco a capire dove sbaglio, mi si blocca una volta inseriti tutti i valori dell array.
sottoprogrammi:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include "dichiarazioni.h"
using namespace std;
void inserisci_vet(int vet[],int riemp)
{        
    cout<<"inserisci i tuoi valori\n";
    for(int i=0;i<riemp;i++)
    {
        cout<<"val "<<i<<": ";
        cin>>vet[i];
    } 
}
void stampa_vet(int vet[],int riemp)
{
    cout<<"i valori contenuti nell'array sono:"<<endl;
    for(int i=0;i<riemp;i++)
    {
        cout<<"v["<<i<<"]: ";
        cout<<vet[i]<<endl;
    } 
}
void sdoppia(int vet[],int riemp,int v1[],int& r1, int& r2,int v2[])
{
    for(int i=0;i<riemp;i++)
    {
        if(vet[i]%2==0) //pari
        {
            r1++;
            v1[r1]=vet[i];
        }    
        else //dispari
        {
            r2++;
            v2[r2]=vet[i]; 
        }
    } 
}
void stampa_prima_vetminimo(int v1[],int v2[],int r1,int r2)
{
    if(r1<r2)
    {
        stampa_vet(v1,r1);
    }
    else
        stampa_vet(v2,r2);
}
dichiarazioni
#ifndef DICHIARAZIONI_H
#define DICHIARAZIONI_H
#define nmax 100
#endif /* DICHIARAZIONI_H */
void inserisci_vet(int vet[],int riemp);
void stampa_vet(int vet[],int riemp);
void sdoppia(int vet[],int riemp,int v1[],int& r1, int& r2,int v2[]);
void stampa_prima_vetminimo(int v1[],int v2[],int r1,int r2);
main
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include "dichiarazioni.h"
using namespace std;
int main()
{
    int r1,r2=0;
    int riemp;
    int vet[nmax],v1[nmax],v2[nmax];
    
    cout<<"quanti valori vuoi immettere?\n";
    cin>>riemp;
    inserisci_vet(vet,riemp);
    sdoppia(vet,riemp,v1,r1,r2,v2);
    stampa_prima_vetminimo(v1,v2,r1,r2);
    system ("pause");
    return 0;
}
grazie in anticipo!