Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    c++ funzione booleana con contatore

    Buona sera, ho questo esercizio, sembrava semplice, ma niente... non vuole girare...

    codice:
    /*
    Assegnata una matrice quadrata NxN, scrivere una funzione booleana ricerca 
    che stampi vero se i numeri dispari ricorrono più volte dei pari.
    */
    
    #include<iostream>
    #include<cstdlib>
    
    using namespace std;
    const int rigmax=50;
    const int colmax=50; 
    
    using namespace std;
    bool PariDispari(int [][colmax], int , int , int &);
    void StampaMat(char, int [][colmax], int);
    
    int main()
    {   
        int A[rigmax][colmax];
        int n,m, conta;
        cout<<"inserisci righe : ";
        cin>>n;
        cout<<"inserisci colonne : ";
        cin>>m;
    
    
        int i=0, j=0, sommaP=0, sommaD=0;
        
        cout<<PariDispari(A, n, m, conta);
        cout<<sommaP<<endl;
        cout<<sommaD<<endl;
        
        StampaMat('A', A, n);
        
        system("pause");
    }
     
    
    bool PariDispari(int A, int n, int m, int &conta){
         if(n<0){
                  if(conta>0){
                         return true;}
                         else{
                             return false;
                             }
                  }
                  else {
                       if(m<0)
                         return PariDispari(A, n-1, m, conta);
                         else 
                              {
                              if (A[n][m]%2==0){
                              return PariDispari(A, n-1, m, conta-1);
                              }
                              else
                              return PariDispari(A, n-1, m, conta+1);
                  }
    
    }
    
    
    void StampaMat(char nomemat,const int A[][m], int n, int m)  {
      int i,j;
      for (i=0;i<n;i++)  {
        for (j=0; j<n; j++) 
          cout<<nomemat<<"["<<i<<"]["<<j<<"]="<<A[i][j]<<"  ";
        cout<<endl;  
      }    
    }
    l'errore stà nella functionparidispari

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,463
    Sì ... ma quando proponi un problema devi "spiegare" un po' cosa dovrebbe fare il programma, cosa fa ogni funzione, di quale errore parli ... altrimenti nessuno ti rispondera' ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    il problema stà esposto nell'intestazione, nei commenti...
    è la prima cosa la cosidetta TRACCIA

    l'errore stà nella funzione booleana(c'è ne solo una)

    quello che fà si intuisce dalla traccia...

    e se sapevo l'errore preciso lo corregevo io...

    grazie lo stesso

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,463
    Originariamente inviato da wgd-developer
    il problema stà esposto nell'intestazione, nei commenti...
    è la prima cosa la cosidetta TRACCIA

    l'errore stà nella funzione booleana(c'è ne solo una)

    quello che fà si intuisce dalla traccia...

    e se sapevo l'errore preciso lo corregevo io...
    Va be' ... non hai capito nulla di quello che ti ho detto ...

    Comunque, non c'e' nessun commento e non si deve "intuire" ... semmai tu devi SPIEGARE ...

    grazie lo stesso
    Prego
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Scusa eh, ma :

    Assegnata una matrice quadrata NxN, scrivere una funzione booleana ricerca
    che stampi vero se i numeri dispari ricorrono più volte dei pari.

    cosa potrebbe mai significare???

    poi inoltre non ho resistito, perchè ho visto il 60 % dei tuoi messaggi e non sono altro che "specifa qua, cosa fa la, etc..."
    regalala una riga di codice...

  6. #6
    Originariamente inviato da wgd-developer
    Scusa eh, ma :

    Assegnata una matrice quadrata NxN, scrivere una funzione booleana ricerca
    che stampi vero se i numeri dispari ricorrono più volte dei pari.

    cosa potrebbe mai significare???
    ...
    questa è la tua consegna e potrebbe tornare utile per scrivere la funzione al tuo posto. Quello che non si capisce e come tu hai pensato di risolvere i problema.

    A parte che il codice come lo hai postato non è compilabile e che dovresti almeno renderlo tale, dovresti inoltre commentare il codice indicando le tue intenzioni e il significato degli argomenti.

    codice:
    /*
    A è una matrice quadrata
    int n, m sono gli indici ... ?
    conta è il "contatore??" che contiene il numero di "?". E' passato per riferimento in quanto ....
    */
    bool PariDispari(int A[][colmax], int n, int m, int &conta);
    e così via
    ciao
    sergio

  7. #7
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    in più sarebbe utile sapere che errore viene indicato dal compilatore (se l'errore è a compile time) o l'errore segnalato a runtime...

    dire che l'errore è in una funzione dice tutto e dice nulla...

    edit: visto così alla chiamata di PariDispari nel main la variabile conta nonn è inizializzata

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,463
    Come vedi non sono solo io che chiedo maggiori info ... a questo punto impiega il tempo a dare le informazioni richieste perche' gli altri risolvano il tuo problema, piuttosto che fare inutili statistiche sulle mie risposte ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Scusate ma l'errore non è nella funzione Pari dispari?

    guarda che quando implementi la funzione non dichiari che A è una matrice, ed essendo diverso dal prototipo dichiarato prima è un errore;


    dichiarazione : bool PariDispari(int [][colmax], int , int , int &);
    definizione : bool PariDispari(int A, int n, int m, int &conta)

    questi devono essere uguali!!!

    Poi io non ho capito come inserisci i numeri nelle righe e colonne??

    Dal cin prendi solo un valore...

  10. #10
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    prototipo errato (anzi dichiarazione errata, A non è un intero ma una matrice), matrice non inizializzata, contatore non inizializzato..

    Intanto controlla questi 3..

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.