Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Esercizio

  1. #1

    Esercizio

    Siano assegnati due vettori V1 e V2 ed i loro riempimenti n1 e n2 ed in 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 terzo vettore V3 gli elementi di V1 maggiori di k,altrimenti copi in V3 gli elementi di V2 maggiori di k.Si stampi il vettore V3 ed il suo riempimento.


    #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 mille

  2. #2
    usa il tag [code], indenta il codice e indica qual è il problema e cosa avviene debuggando

    inoltre correggi il titolo secondo quanto scritto nel regolamento.
    quindi ti risponderemo

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

    Moderazione

    Le regole sono già state indicate in questa occasione, per cui o si rispetta il Regolamento o le discussioni vengono chiuse (fino a un certo punto).
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.