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

    [c++] problemi esercizio.

    salve a tutti,
    ho riscontrato un problema nella risoluzione di questo esercizio:

    Scrivere un programma tale che, letti due numeri interi n ed m compresi nell’intervallo (3,5) definisca una matrice A di dimensioni con elementi interi generati in modo random e compresi nell’intervallo [0,20] ; successivamente visualizzare tale matrice a video. Quindi, con h e k interi inseriti a piacere, visualizzare a video gli elementi della riga h e della colonna k, con e . Qualora la matrice risultasse quadrata se ne calcoli la traccia.

    riesco a scrivere la matrice e a stamparla, però no so come visualizzare gli elementi della riga 'h' e colonna 'k' inserendoli a piacere. Potreste darmi una mano? Ringrazio anticipatamente =)
    Vi allego il testo dell'esercizio fin'ora svolto.

    #include <iostream>
    #include <stdlib.h>
    #include <math.h>
    #include <time.h>
    #include <cstdlib>
    using namespace std;


    void main()
    {
    int mat[5][5], n, m, a, b;
    int num,range, min=0, max=20;
    int h, k;


    cout<<"Inserire due numeri interi conpresi nell'intervallo (3,5): "<<endl;
    while (!(cin>>n) || (n<3) || (n>5))
    {
    cout<<"Input errato. Reinserire input.";
    cin.clear();
    cin.ignore(100, '\n');
    }

    while (!(cin>>m) || (m<3) || (m>5))
    {
    cout<<"Input errato. Reinserire input.";
    cin.clear();
    cin.ignore(100, '\n');
    }


    srand(time(0));
    range=max-min+1;
    for (a=0; a<n; a++)
    {
    for (b=0; b<m; b++)
    {
    num=rand()%range+min;
    mat[n][m]=num;
    cout<<mat[n][m]<<' ';
    }
    cout<<endl;
    }

    cout<<"Inserire due numeri per visualizzare gli elementi riga-colonna: "<<endl;
    while (!(cin>>h) || (h<1) || (h>n))
    {
    cout<<"Input errato. Reinserire input.";
    cin.clear();
    cin.ignore(100, '\n');
    }

    while (!(cin>>k) || (k<1) || (k>m))
    {
    cout<<"Input errato. Reinserire input.";
    cin.clear();
    cin.ignore(100, '\n');
    }

    cout<<endl<<"ecco h: "<<h<<" Ecco k: "<<k<<endl;

    /*Fino a qui riesco a svolgere, il problema è inserire
    'h' e 'k' a piacere e visualizzare gli elementi di quella riga e colonna.
    Ho provato a svolgerlo cosi : */

    for (h=0; h<n; h++)
    {
    cout<<mat[h][n];
    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    45
    in questa riga devi scrivere - mat[b][a]- altrimenti memorizzi sempre n-m
    codice:
    mat[n][m]=num;
    al posto di queste righe
    codice:
    for (h=0; h<n; h++)
     {
     cout<<mat[h][n]; 
    }
    codice:
    cout << mat[k-1][h-1];
    ciao

  3. #3
    mmm... a ok
    grazie dario

    e se volessi visualizzare tutti gli elementi di una determinata riga e di una determinata colonna?

  4. #4

    Re: [c++] problemi esercizio.

    Originariamente inviato da ilmimmeo
    Quindi, con h e k interi inseriti a piacere, visualizzare a video gli elementi della riga h e della colonna k, con e . Qualora la matrice risultasse quadrata se ne calcoli la traccia.
    Per stampare la riga h:
    finchè i < colonne_matrice, stampi mat[h][i]
    invece per stampare la colonna k:
    finchè i < righe_matrice, stampi mat[i][k]
    i va inizializzato a 0.

  5. #5
    ok perfetto risolto

    grazie a tutti =)

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.