Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 32

Hybrid View

  1. #1
    Ho provato a fare così ma da ancora errore. Sapete dirmi dove sbaglio ??

    codice:
    int **somma;
    
    int Somma(int**m, int r, int c,int n)
    {
        
        for ( int z = 0; z < n; z++)
        {
            for (int i = 0; i < r; i++)
            for (int j = 0; j < c; j++)
    
    
                somma[i][j]=somma[i][j]+m[i][j];
    
    
        }
        cout << somma[i][j];
        return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Questo

    cout
    << somma[i][j];

    non deve andare fuori dal ciclo

    Ma n (e il ciclo z) a cosa ti servono?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Questo

    cout
    << somma[i][j];

    non deve andare fuori dal ciclo

    Ma n (e il ciclo z) a cosa ti servono?
    N è il numero di matrici che inserisco, quindi il ciclo z mi serve per farlo n volte

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Il numero di matrici?

    Il primo parametro rappresenta una sola matrice ... dove sono le altre?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Il numero di matrici?

    Il primo parametro rappresenta una sola matrice ... dove sono le altre?
    All'inizio ti chiede quante matrici vuoi inserire, quello è n e ogni volta inserisci fino a quando non arrivi ad aver inserito n matrici!!!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non hai capito quello che ho chiesto. Dove sono queste n matrici ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Non hai capito quello che ho chiesto. Dove sono queste n matrici ?
    Vengono inserite a mano a mano che si va avanti con l'esecuzione

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Scusa ma non mi rispondi in maniera precisa.

    Ti chiedevo dove le hai inserito, con quale codice, in quali puntatori ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Scusa ma non mi rispondi in maniera precisa.

    Ti chiedevo dove le hai inserito, con quale codice, in quali puntatori ...
    codice:
    // Matrice.cpp : definisce il punto di ingresso dell'applicazione console.
    //
    
    
    
    
    #include <stdio.h>
    #include "stdafx.h"
    #include <io.h>
    #include <iostream>
    #include <iomanip>
    
    
    
    
    using namespace std;
    
    
    int i, j;
    int n;
    int righe, colonne;
    
    
    
    
    
    
    int **matrice;
    int **trasposta;
    int **somma;
    
    
    
    
    void inserimento_matrice_dinamica(int **m, int r, int c)
    {
        int i, j;
    
    
        for (i = 0; i<r; i++)
        for (j = 0; j < c; j++)
        {
            cout << "Inserisci Elemento " << "(" << i + 1 << "," << j + 1 << ")" << " = ";
            cin >> m[i][j];
        }
    
    
    }
    
    
    void Trasposta(int **t, int r, int c)
    {
        int i, j;
    
    
        for (i = 0; i<r; i++)
        for (j = 0; j<c; j++)
            cout << "Elemento di Indice " << "(" << i + 1 << "," << j + 1 << ")" << " = " << t[j][i] << endl;
    }
    
    
    int Somma(int**m,int r,int c,int n)
    {
        
        for(int z =0; z < n; z++)
        {
            for(int i =0; i < r; i++)
            for(int j =0; j < c; j++)
    
    
                somma[i][j]=somma[i][j]+m[i][j];
    
    
        }
        cout << somma[i][j];
        return0;
    }
    int main()
    {
    
    
        cout << "Inserisci il numero delle matrici"<<endl;
        cin >> n;
    
    
        for (int z = 0;z < n; z++)
        {
    
    
    
    
            cout << "Inserisci il numero di righe della Matrice "<< z+1 <<endl;
            cin >> righe;
            cout << "Inserisci il numero di colonne della Matrice " << z+1 << endl;
            cin >> colonne;
    
    
            
            matrice = new int *[righe];
            for (i = 0; i < righe; i++)
            matrice[i] = new int[colonne];
    
    
    
    
            cout << "Inserimento Matrice Dinamica " << endl;
            inserimento_matrice_dinamica(matrice,righe, colonne);
    
    
    
    
            cout << "Visualizzazione Matrice Dinamica Trasposta" << endl;
            Trasposta(matrice, righe, colonne);
    
    
    
    
            cout << "La somma delle Matrici e' :   " << endl;
            Somma(matrice,somma, righe, colonne);
    
    
    
    
            system("PAUSE");
    
    
            //getchar();
    
    
            for (i = 0; i < righe; i++)
                delete matrice[i];
    
    
            delete matrice;
        }
        return 0;
    }
    Questo è tutto il programma, non capisco qual'è il problema

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Il problema mi sembra evidente ...

    Il prototipo della Somma è

    int Somma(int**m, int r, int c, int n)

    ma tu la chiami dal main così

    Somma(matrice, somma, righe, colonne);

    senza passare il parametro n e passando un parametro somma (di cui non si capisce il senso) al posto delle righe ... Ovviamente così non può funzionare.

    La funzione Somma restituisce un int (che è il valore della somma degli elementi della matrice passata). Questo va restituito dalla funzione e sommato a sua volta nel main.

    Se nel main azzeri una variabile sommatotale

    codice:
    int sommatotale = 0;
    quando utilizzi la funzione Somma dovrai scrivere semplicemente

    codice:
    sommatotale = sommatotale + Somma(matrice, righe, colonne);
    A questo punto la funzione Somma dovrà essere qualcosa del genere

    codice:
    
    
    codice:
    intSomma(int**m, int r, int c)
    {
        int somma=0;
    for(int i =0; i < r; i++)
            for(int j =0; j < c; j++)
                somma = somma+m[i][j];
    
    return somma;
    }



    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.