Salve stavo programmando in devC++ , mi sto preparando per un esame.
Potreste dare uno sguardo a questo programma??
Viene eseguito ma mi da dei valori assurdi alla fine
Ecco il testo:
Siano assegnati in ingresso, da tastiera, due vettori di interi V1 ed V2, ed i loro riempimenti n1 ed n2. Si supponga che gli elementi del vettore V1 siano ordinati in senso crescente.Si scriva un programma che inserisca in ordine nel vettore V1 tutti gli elementi del vettore V2. Si stampi quindi il vettore V1 modificato.Il programma deve essere articolato in funzioni (ad es.: input, output, inserisci).Suggerimento: la funzione inserisci riceve in ingresso n1, V1, n2 e V2 e modifica il vettore V1 ed il suo riempimento.EsempioINPUT: n1 = 7 V1 = 1 4 7 9 12 15 22 n2 = 4 V2 = 14 3 5 25OUTPUT: V1 = 1 3 4 5 7 9 12 14 15 22 25
Ed ecco il programma da me svolto:
*/#include<iostream>
#include<stdlib.h>
using namespace std;
void input(int v[], int n);
void copia(int v[], int w[], int n);
void inserisci(int w[], int s);
void output(int v[], int s);
int main()
{ int n1,v1[50];
int n2,v2[50];
input(v1,n1);
cout<<"inserisci riempimento al vettore 2"<<endl;
cin>>n2;
cout<<"inserisci "<<n2<<" elementi al vettore 2"<<endl;
for(int i=0; i<n2; i++)
cin>>v2[i]; int v3[100];
copia(v1,v3,n1);
copia(v2,v3,n2);
int s=n1+n2;
inserisci(v3,s);
output(v3,s);
system("PAUSE");
return 0 ;
}
void input(int v[], int n){ cout<<"inserisci riempimento al vettore 1 "<<endl;
cin>>n;
cout<<"inserisci in modo ordinato crescente "<<n<<" elementi al vettore 1"<<endl;
for(int i=0;i<n;i++)
cin>>v[i];
}
void copia(int v[],int w[], int n){
for(int i=0;i<n;i++)
w[i]=v[i]; }
void inserisci(int w[], int s){
int i=0;
bool scambiato= false;
while((i<s-1)&& scambiato){
scambiato=false;
for(int j=s;j>i;j--){
if(w[j]<w[j-1]){
swap(w[j],w[j-1]);
scambiato=true; i++;}
}
}
}
void output(int w[], int s){
cout<<"il vettore ordinato sarà"<<endl;
for (int m=0; m<s; m++)
cout<<w[m];
nella fnzione copia ho cercato di copiare ogni elemento dei due vettori in un altro vettore , per poi (in inserisci) ordinanrlo tramite il bouble sort.
Penso che l'errore sia nello svolgimento di quest'ultimo , qualcuno mi potrebbe aiutare per favore????
Grazie =)