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!