Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Esercizio

  1. #1

    Esercizio

    Siano assegnati due vettori V1 e V2 ed i loro riempimenti n1 e n2 ed un intero k.Si scriva un programma che dapprima conti quanti elementi di V1 hanno valore maggiore di k(siano nmag1) e quanti elementi di V2 hanno valore maggiore di k(siano nmag2).Quindi,se nmag1>nmag2 copi in un vettore V3 gli elementi di V2 maggiori di k,altrimenti copi in V3 gli elementi di V2 maggiori di k.Si stampi V3 ed il suo riempimento.

    codice:
    #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
    
    const int MAX_ELEM=100;
    
    void input_array(int V1[],int V2[],int &n1,int &n2);
    void input_k(int &k);
    int conta(int V1[],int V2[],int n1,int n2,int k,int nmag1,int nmag2);
    void copia(int V1[],int V2[],int V3[],int n1,int n2,int nmag1,int nmag2);
    void output(int V1[],int V2[],int V3[],int n1,int n2,int n3,int nmag1,int nmag2);
    
    int main()
    {
        int V1[MAX_ELEM];
        int V2[MAX_ELEM];
        int V3[MAX_ELEM];
        int n1;
        int n2;
        int n3;
        int k;
        int nmag1;
        int nmag2;
        
        input_array(V1,V2,n1,n2);
        input_k(k);
        conta(V1,V2,n1,n2,k,nmag1,nmag2);
        copia(V1,V2,V3,n1,n2,nmag1,nmag2);
        output(V1,V2,V3,n1,n2,n3,nmag1,nmag2);
        
        system("PAUSE");
        return 0;
    }
    
    void input_array(int V1[],int V2[],int &n1,int &n2){
        int i;
        cout<<"Inserire  il riempimento del primo vettore"<<":";
        cin>>n1;
        cout<<endl;
        
        for(i=0; i<n1; i++){
            cout<<"Inserire V1["<<i<<"]=";
            cin>>V1[i];
        }
        
        cout<<endl;
        
        cout<<"Inserire  il riempimento del secondo vettore"<<":";
        cin>>n2;
        cout<<endl;
        
        for(i=0; i<n2; i++){
            cout<<"Inserire V2["<<i<<"]=";
            cin>>V2[i];
        }
        
        cout<<endl;
    }    
    
    void input_k(int &k){
        cout<<"Inserire il valore di k"<<":";
        cin>>k;
        cout<<endl;
    }
    
    int conta(int V1[],int V2[],int n1,int n2,int k,int nmag1,int nmag2){
        int i;
        int conta=0;
        
        for(i=0; i<n1; i++){
            if(V1[i]>k){
                conta++;
                nmag1++;}
            }
            
                
        for(i=0; i<n2; i++){
            if(V2[i]>k){
                conta++;
                nmag2++;}
            }                           
                
    }
    
    void copia(int V1[],int V2[],int V3[],int n1,int n2,int nmag1,int nmag2){
        int i;
        int n3;
        n3=0;
        
        for(i=0; i<n1; i++)
        if(nmag1>nmag2){
            V3[n3++]=V1[i];}
            else{
                V3[n3++]=V2[i];}
    }
    
    void output(int V1[],int V2[],int V3[],int n1,int n2,int n3,int nmag1,int nmag2){
        int i;
        cout<<"Il vettore V3 e'"<<" ";
        for(i=0; i<n3; i++){
            cout<<V3[i]<<" ";}   
           
            cout<<endl;
    }

    Dove sbaglio?Grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Idem come qui.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.