Unire due matrici

di il
10 risposte

Unire due matrici

Salve a tutti e buona domenica , vorrei unire due matrici partendo da una , mi spiego meglio:
ho una matrice del tipo:
1 3
2 4
questa la chiameremo a[2][2];
voglio che questa diventi b[2][4] in modo tale che tutte le due colonne vengano copiate :
1 3 1 3
2 4 2 4
come faccio a copiare tutti gli elementi della prima colonna e spostarli alla penultima e quelli della seconda e spostarli all ultima? ce qualcosa che lo faccia senza che gli venga chiesto all utente di inserirli uguali? ci sto sbattendo la testa ma niente



for(i=0;i<3;i++){
for(j=0;j<1;j++){
for(i=0;i<3;i++){
for(j=3;j<4;j++){

printf("riga : %d \n",a[j]);
a[j]=b[j];
printf("riga b :%d \n ,",b[j]);

questo e quello che avevo buttato giu per la copiatura della prima colonna (in questo caso c e a[3][3]), ma ovviamente non funge
grazie mille!

10 Risposte

  • Re: Unire due matrici

    Se la grandezza è fissa puoi farlo "a mano" per ogni cella

    Altrimenti, se ho capito cosa vuoi fare, potresti creare un ciclo per ogni riga con questo criterio:
    b[riga][colonna] =a[riga][colonna%numeroDiColonneDellaMatriceA]
  • Re: Unire due matrici

    ale99 ha scritto:


    Se la grandezza è fissa puoi farlo "a mano" per ogni cella

    Altrimenti, se ho capito cosa vuoi fare, potresti creare un ciclo per ogni riga con questo criterio:
    b[riga][colonna] =a[riga][colonna%numeroDiColonneDellaMatriceA]

    tutto chiaro e ti ringrazio ma dentro l ultima parentesi quadra che cose quel "%numeroDiColonneDellaMatriceA" , grazie
  • Re: Unire due matrici

    % é l'operatore che ritorna il resto della divisione intera

    Es: 10%3=1 37%10=7

    NumeroDiColonneDellaMatriceA l'ho usato per indicare che li devi scrivere il numero di colonne della matrice di partenza. É un nome di fantasia
  • Re: Unire due matrici

    Ma deve essere solo un fatto visivo o deve assumere le nuove dimensioni?

    Nel secondo caso dotresti usare anche l'allocazione dinamica...
  • Re: Unire due matrici

    Eduadie ha scritto:


    Ma deve essere solo un fatto visivo o deve assumere le nuove dimensioni?

    Nel secondo caso dotresti usare anche l'allocazione dinamica...
    si praticamente deve assumere un altro dimensione , io inizialmente ho una 3x3 che deve quindi diventare 3x5
  • Re: Unire due matrici

    Perciò dico, devi utilizzare una struttura dinamica perchè non crederti che poi puoi fare
    a[j] che diventa a[j+j] in modo semplice...
  • Re: Unire due matrici

    Eduadie ha scritto:


    Perciò dico, devi utilizzare una struttura dinamica perchè non crederti che poi puoi fare
    a[j] che diventa a[j+j] in modo semplice...

    ho risolto in un modo piu "elementare" utilizzando pero 7 cicli grazie di tutto!!
  • Re: Unire due matrici

    Ti ripeto anche se ti funziona dichiarare una matrice con variabili è prettamente scorretto comunque
  • Re: Unire due matrici

    Eduadie ha scritto:


    Ti ripeto anche se ti funziona dichiarare una matrice con variabili è prettamente scorretto comunque
    che vuol dire "dichiarare matrici con variabili"?
  • Re: Unire due matrici

    Te le dimensioni della nuova matrice come le scrivi? Crei una nuova matrice con dimensioni fisse (quindi usi sempre una matrice di partenza con uguale dimensione) o cambi le dimensioni della matrice di partenza in qualche modo? In che modo?
Devi accedere o registrarti per scrivere nel forum
10 risposte