Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di xrwnis
    Registrato dal
    Apr 2008
    Messaggi
    42

    [C++]ricorsione su matrici

    Ciao a tutti! devo scrivere una procedura ricorsiva che calcoli la somma delle righe dispari e quella delle righe pari...Eccola qui, ma non funziona... avete idea del perchè??

    codice:
    void somme(int a[][3],int i,int j,int n,int &sumd,int &sump)
    {
         if(i<n)
         {
             if (j>n)
                 return somme(a,i+1,0,n,sumd,sump);
             else if((i%2)==0)
                 sump=sump+a[i][j];
             else
                 sumd=sumd+a[i][j]; 
                 
                 return somme(a,i,j+1,n,sumd,sump);
             
         }
            
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    void somme(int a[][3],int i,int j,int n,int &sumd,int &sump)

    Le variabili passate per riferimento si indicano con * nell'intestazione della procedura, non con &... o almeno io ho sempre fatto così...

    L'operatore & si usa nella chiamata alla procedura all'interno del main per passare gli argomenti per riferimento.

  3. #3
    Così ad occhio non capisco bene il funzionamento di questa procedura (senza contare che la sua versione iterativa sarebbe molto più chiara e semplice); in ogni caso
    codice:
    int &sumd,int &sump
    è corretto, si tratta di normali reference ad int.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Ora che ci penso l'ho vista qualche altra volta questa forma di intestazione ma non me ne ricordavo, del resto ho sempre usatoi l simbolo *... comunque mea culpa

    Appena ho un po' di tempo me lo vedo un po'...

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.