Programma con array bidimensionali!!!!

di il
8 risposte

Programma con array bidimensionali!!!!

Salve a tutti gente, avrei bisogno di sapere come si risolve questo esercizio
è un esercizio d'esame
ecco il testo:
Scrivere una funzione C++ che dato un array a due dimensioni N x N di interi a, un intero n>=1 ed un intero k, restituisce TRUE se e solo se in ogni colonna esistono n coppie distinte di elementi la cui somma sia pari a k.

8 Risposte

  • Re: Programma con array bidimensionali!!!!

    Nessuno che può aiutarmi???
  • Re: Programma con array bidimensionali!!!!

    Tu cosa hai fatto?
  • Re: Programma con array bidimensionali!!!!

    Ecco una soluzione elaborata da me

    Ho utilizzato due funzioni
    La prima che mi verifica se le condizioni nel testo vengono verificate nella prima colonna
    La seconda funzione che mi verifica invece se la condizione viene verificata per tutte le altre colonne
    
    bool verifica_coppia(int a[N][N], int k, int n, int& c){
    int i , j;
    bool trovata = false;
    int cont=0;
    i=0;
    while(i<N && !trovata){
    j=0;
    while(j<N && !trovata){
    c=0;
    if((a[i][c]+a[i+j][c])==k)
    cont++;
    j++;
    }
    i++;
    if(cont==n)
    trovata=true;
    }
    return trovata;
    }
    
    bool condizione(int a[N][N], int k, int n){
    int s=0;
    bool condition=true;
    while (s<N&& condition){
    verifica_coppia(a,k,n,s);
    if(verifica_coppia)
    s++;
    cout<<”La condizione è verificata”<<endl;
    cout<<”La condizione non è verificata”<<endl;
    }
    return condition;
    }
    
  • Re: Programma con array bidimensionali!!!!

    Cos'è che non ti funziona?
    
    a[i+j][c]
    
    secondo me i + j supera di gran lunga N.
  • Re: Programma con array bidimensionali!!!!

    Ok quindi avrei dovuto inizializzare j ad i+1 ma cos'è poi che è sbagliato?
  • Re: Programma con array bidimensionali!!!!

    I + j supera N. l'indice delle colonne è errato. Se N = 4 i = 3 e j = 3 tu vai a leggere la colonna 6 che non esiste.
  • Re: Programma con array bidimensionali!!!!

    Ok questo l'ho capito
    ma per il resto il programma ossia la funzione è corretta?
  • Re: Programma con array bidimensionali!!!!

    Quello è l'errore del programma. Correggi quello e prova se va. Mettendolo a posto come si deve vedrai che il resto sarà OK.
Devi accedere o registrarti per scrivere nel forum
8 risposte