Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    38

    [C++] problema con il main

    ragazzi non riesco a capire come mail il main non mi manda a video il cout della funzione "controllo"
    vi ringrazio in anticipo!

    codice:
    #include <cstdlib>#include <iostream>
    #include "dichiarazioni.h"
    using namespace std;
    
    
    void inserisci_mat(int mat[][nmax],int righe,int colonne)
    {
       for(int i=0;i<righe; i++)
           for(int j=0;j<colonne; j++)
           {
               cout<<"inserisci ["<<i<<"]["<<j<<"]";
               cin>>mat[i][j];
           }
    }
    
    
    void stampa_mat(int mat[][nmax],int righe,int colonne)
    {
        for(int i=0;i<righe; i++)
        {
           for(int j=0;j<colonne; j++)
           {
               cout<<mat[i][j]<<" ";
           }
         cout<<endl;
        }
    }
    
    
    void controllo(int mat1[][nmax],int righe1,int colonne1,int mat2[][nmax],int righe2,int colonne2)
    {
        for(int r=0;r<righe1; r++)
        {
            int k=0;    
            for(int i=0;i<righe1; i++)
            {
                for(int j=0;j<colonne1; j++)
                {
                    for(int ii=0;ii<righe2; ii++)
                    {
                        for(int jj=0;jj<colonne2; jj++)
                        {
                            int a=mat1[i][j];
                            int b=mat2[ii][jj];
                            if (a==b)
                            k++;
                            cout<<"nella riga"<<r<<"c'è il valore"<<mat1[i][j]<<" "<<k<<"volte\n";                   
                        }
                    }
                }
            }
        }
    }
    codice:
    #include <cstdlib>#include <iostream>
    using namespace std;
    
    
    #define nmax 100
    
    
    void inserisci_mat(int mat[][nmax],int righe,int colonne);
    void stampa_mat(int mat[][nmax],int righe,int colonne);
    void controllo(int mat1[][nmax],int righe1,int colonne1,int mat2[][nmax],int righe2,int colonne2);
    codice:
    #include <cstdlib>
    #include <iostream>
    #include "dichiarazioni.h"
    using namespace std;
    
    
    
    
    
    
    /*
     * 
     */ 
    int mat1[nmax][nmax],mat2[nmax][nmax];
    int r1,r2,c2;
    int c1=r2;
    int main() 
    {
        cout<<"#inserimento prima matrice\n";    
        cout<<"inserisci n righe: ";
        cin>>r1;
        cout<<"inserisci n colonne: ";
        cin>>c1;   
        inserisci_mat(mat1,r1,c1);
        stampa_mat(mat1,r1,c1);
        
        cout<<"#inserimento seconda matrice\n";
        cout<<"(le righe non saranno richieste dato che per default\n"<<"assumeranno il valore delle righe della precedente matrice\n";
        cout<<"inserisci n colonne: ";
        cin>>c2;
    
    
        inserisci_mat(mat2,r1,c1);
        stampa_mat(mat2,r1,c1);
        controllo(mat1,r1,c1,mat2,r2,c2);
    
    
        system("pause");
        return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Controlla quanto valgono le variabili che passi quando chiami la funzione
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    In particolare r2

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    38
    ok grazie, questo l ho risolto... in realtà starei svolgendo il seguente esercizio:
    Siano dati in ingresso due matrici di numeri interi M1 e M2. Si assuma che il numero di colonne di M1 sia uguale al numero di righe di M2. Scrivere un programma che, per ogni riga R di M1, individui la colonna C di M2 avente la piu’ lunga sequenza di elementi consecutivi che siano tutti presenti in R. Si provveda quindi a scambiare gli elementi della riga R con quelli della colonna C. Stampare infine le matrici M1 e M2 cosi’ ottenute. Si organizzi il programma in sottoprogrammi.
    non riesco a fare quello che mi chiede... alla fine la funzione da me scritta "controllo" non va a fare quello richiesto ma va a cercare se in tutta la matrice 2 c'è ogni valore della matrice 1 (o sbaglio), come potrei fare??

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.