Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    4

    [C++] Isolare e sommare righe e colonne di matrici

    salve ragazzi, ho un problema con la programmazione in c++ (soprattutto con le matrici).
    Mi potreste aiutare con un esercizio in particolare: data una matrice come si può isolare (e stampare) una riga (o colonna) e se ne sommano gli elementi.
    (la riga o colonna è scelta da chi esegue il programma)

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Prova a scrivere del codice e poi noi lo correggiamo e/o ti diamo dei suggerimenti
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Proponi la tua soluzione, i tuoi dubbi, gli eventuali errori che riscontri dalla compilazione/esecuzione e nel forum se ne discute.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    4
    questo è il programma ke ho fatto fin ora


    codice:
    #include<iostream>
    #include<cmath>
    using namespace std;
    void f(int n, int m, float M[10][10]) /**leggi matrice**/
    {
         int i,j;
         if(n>0 && m>0 && n<=10 && m<=10)
         {
                for(i=1;i<=n;i++)
                {
                                 cout<<"dammi elementi della riga "<<i<<":\n";
                                 for(j=1;j<=m;j++)
                                 {
                                         cin>>M[i][j];
                                         cout<<"\n";
                                 }
                }
                     
         }
         else cout<<"numero elementi non previsto.\n\n";
    }
    void g(int n,int m,float M[10][10],float d, float&S) /**questo per scrivere la somma di una riga a caso(d)**/
    {
         int j;
         for(j=1;j<=m;j++)
         {
                          S=0.0;
                          S+=M[d][j];
                          cout<<"dammi riga:\n";cin>>d;
                          cout<<"la somma degli elementi sulla riga"<<d<<"e\':"<<S<<".\n\n";
         }
    }
    int main()
    {
        float M[10][10],d,S;
        int n,m,i,j;
        cout<<"da quante righe e\' composta la matrice:\n";
        cin>>n;
        cout<<"\n";
        cout<<"da quante colonne e\' composta la matrice:\n";
        cin>>m;
        cout<<"\n"; 
        f(n,m,M);
        g(n,m,M,d,S);
        system ("Pause");
        return 0;    
    }
    Ultima modifica di LeleFT; 10-09-2014 a 15:34 Motivo: Aggiunti i tag CODE

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    4
    il problema è ke dopo l'avvio del programma, quando inserisco il numero della riga da sommare il risultato è sbagliato...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    4
    questo è il programma ke ho fatto fin ora


    codice:
    #include<iostream>
    #include<cmath>
    using namespace std;
    void f(int n, int m, float M[10][10]) /**leggi matrice**/
    {
         int i,j;
         if(n>0 && m>0 && n<=10 && m<=10)
         {
                for(i=1;i<=n;i++)
                {
                                 cout<<"dammi elementi della riga "<<i<<":\n";
                                 for(j=1;j<=m;j++)
                                 {
                                         cin>>M[i][j];
                                         cout<<"\n";
                                 }
                }
                     
         }
         else cout<<"numero elementi non previsto.\n\n";
    }
    void g(int n,int m,float M[10][10],float d, float&S) /**questo per scrivere la somma di una riga a caso(d)**/
    {
         int j;
         for(j=1;j<=m;j++)
         {
                          S=0.0;
                          S+=M[d][j];
                          cout<<"dammi riga:\n";cin>>d;
                          cout<<"la somma degli elementi sulla riga"<<d<<"e\':"<<S<<".\n\n";
         }
    }
    int main()
    {
        float M[10][10],d,S;
        int n,m,i,j;
        cout<<"da quante righe e\' composta la matrice:\n";
        cin>>n;
        cout<<"\n";
        cout<<"da quante colonne e\' composta la matrice:\n";
        cin>>m;
        cout<<"\n"; 
        f(n,m,M);
        g(n,m,M,d,S);
        system ("Pause");
        return 0;    
    }
    Ultima modifica di LeleFT; 11-09-2014 a 09:09 Motivo: Aggiunti i tag CODE

  7. #7
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Gli indici di una matrice m[n][m] vanno da 0 a (n-1) e da 0 a (m-1).
    Gli indici sono degli interi e non dei numeri a virgola mobile.
    Nella somma della riga non devi azzerrare la somma ad ogni ciclo.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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