Assegnazione righe o colonne in matrice

di il
3 risposte

Assegnazione righe o colonne in matrice

Salve a tutti, ho da poco impararto a utilizzare il linguaggio c++. Il problema è questo: in altri linguaggi (ad esempio in Matlab) posso definire una matrice A:
A(1:5,1:10)=0;

se devo poi cambiare una riga soltanto (per esempio la 3a) posso scrivere:
A(3,:)=(1,2,3,4,5,6,7,8,9,10);

C'è un modo analogo per farlo anche in C++?
Ho pensato di utilizzare l'overloading dell'operazione di assegnamento, ma (sempre che l'idea sia corretta) non conosco una funzione che mi restituisca le dimensioni di un array.

Grazie mille per le risposte.

3 Risposte

  • Re: Assegnazione righe o colonne in matrice

    Ciao. è sufficiente che fai:

    nomevettore[indicevettore]=nuovonumero

    esempio

    vett[5]=23;

    vuol dire che assegno al posto del vecchi valore di posizione 5 (ricordantoti che si parte sempre da 0), il nuovo valore 23.

  • Re: Assegnazione righe o colonne in matrice

    Grazie, ma chiedevo se è possibile assegnare una riga di una matrice (non di vettore) con un comando sintetico. Ripeto: se ho una matrice 5x10 inizialmente definita con zeri e poi volessi riempire la terza riga di altri valori, ad esempio 1,2,3,4,5,6,7,8,9,10, in Matlab scriverei semplicemente

    A(3,:)=[1,2,3,4,5,6,7,8,9,10];

    e otterrei A=
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0
    1 2 3 4 5 6 7 8 9 10
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0

    Chiedo scusa, forse mi ero spiegato male.
  • Re: Assegnazione righe o colonne in matrice

    È molto simile ma serve per forza un ciclo:
    cout<<"numero riga?":
    cin>>i;
    for (int j=0;j<max;j++){
    cout<<"numero?";
    cin>>matrice[i][j];}
Devi accedere o registrarti per scrivere nel forum
3 risposte