• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto somma di due matrici

pe.pp.e

Utente Medio
Autore del topic
10 Aprile 2012
101
0
Miglior risposta
0
salve a tutti...come da titolo dovrei scrivere una funzione che prende in input due matrici e restituisce come output una matrice che corrisponde alla somma delle due matrici,usando la notazione a puntatori,secondo cui l'elemento A[j] può essere rappresentato tramite puntatori nel seguente modo: *(&A[0][0]+n_col*i*j).Premetto che non ho la più pallida idea di come scrivere questo programma,quindi,sempre se non è di troppo disturbo,preferirei una spiegazione esauriente del codice che mi posterete,dato che preferisco capirle le cose e non copiarle.Grazie in anticipo!!!! ;)
 
Riferimento: somma di due matrici

salve a tutti...come da titolo dovrei scrivere una funzione che prende in input due matrici e restituisce come output una matrice che corrisponde alla somma delle due matrici,usando la notazione a puntatori,secondo cui l'elemento A[j] può essere rappresentato tramite puntatori nel seguente modo: *(&A[0][0]+n_col*i*j).Premetto che non ho la più pallida idea di come scrivere questo programma,quindi,sempre se non è di troppo disturbo,preferirei una spiegazione esauriente del codice che mi posterete,dato che preferisco capirle le cose e non copiarle.Grazie in anticipo!!!! ;)

Posta il codice che hai già iniziato a fare... non puoi sempre pretendere che ci sia quello che ti fa i compiti e poi te li spiega pure..
 
Riferimento: somma di due matrici

Posta il codice che hai già iniziato a fare... non puoi sempre pretendere che ci sia quello che ti fa i compiti e poi te li spiega pure..

Questa è la prima volta che non ho iniziato nemmeno a scrivere il codice perchè non so nemmeno come iniziare...quindi se c'è qualcuno che sa come si fa,bene....se no fa niente...apprezzo comunque l'interessamento!!!! ;) @ptm
 
Riferimento: somma di due matrici

io alla fine,dopo tante ore di sudore ho scritto anche un codice che penso possa andare bene...l'ho diviso in tre file per non far confusione...l'intestazione dove ho messo tutte le librerie incluse e il prototipo della funzione...il main e la funzione...il problema però è che no funziona bene...mi da un errore nella chiamata nel main della funzione e non riesco a capire il perchè....il codice è il seguente:

intestazione.h:

#include <stdio.h>
#include <stdlib.h>
void funz(int *matrice1[][3],int *matrice2[][4]);

funzione:

#include "intestazione.h"

void funz(int *matrice1[][3],int *matrice2[][4]){

int i,j;

for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf("\nL'elemento [%d][%d] della prima matrice vale %d\n",i,j,matrice1[j]);


printf("\n\n");

for(i=0;i<2;i++)
for(j=0;j<4;j++)
printf("\nL'elemento [%d][%d] della seconda matrice vale %d\n",i,j,matrice2[j]);


int m,n;
int matrice3 [4][7];

for(m=0;m<4;m++)
for(n=0;n<7;n++)
printf("\nL'elemento[%d][%d] della terza matrice vale %d\n",m,n,matrice3[m][n]+*(matrice1[j])+*(matrice2[j]));


}



il main:

#include "intestazione.h"

void main(){

int matrice1[2][3]={{0,1,2},{3,4,5}},matrice2[2][4]={{6,7,8,9},{10,11,12,13}};

funz(*matrice1[2][3],*matrice2[][4]);

system("PAUSE");
}




@ptm
 
Riferimento: somma di due matrici

@ptm L'unico errore nel tuo codice è il non controllare che le colonne siano uguali alle righe.
 
Riferimento: somma di due matrici

@ptm L'unico errore nel tuo codice è il non controllare che le colonne siano uguali alle righe.

la somma matriciale non richiede che le matrici siano quadrate, ma che abbiano la stessa dimensione... tuttavia visto che il programma non prende in input niente dall'utente presumo che il programmatore non sia così idiota da usarne due di dimensioni diverse...
 
Riferimento: somma di due matrici

ho posto ora le dimensioni delle matrici uguali....però continua a darmi il problema la funzione nel main...mi dice che il tipo int è incompatibile con il parametro di tipo int*(*)[3]... :S @ptm
 
Riferimento: somma di due matrici

comunque a me il programma continua a dare problemi... @ptm
 
Riferimento: somma di due matrici

comunque a me il programma continua a dare problemi... @ptm
Il codice che ti ho dato io funziona... fa la somma di A e B e mette il risultato in A per evitare di sprecare spazio usando una matrice diversa...
 
Riferimento: somma di due matrici

Il codice che ti ho dato io funziona... fa la somma di A e B e mette il risultato in A per evitare di sprecare spazio usando una matrice diversa...

si però nel programma non viene visualizzato niente al di fuori di "premi un tasto per continuare..."....è normale????
 
Riferimento: somma di due matrici

si però nel programma non viene visualizzato niente al di fuori di "premi un tasto per continuare..."....è normale????

Si... dopo la matrice finale la puoi stampare.... bastano due cicli for annidati
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
ovviamente se cambia la dimensione della matrice ricordati di cambiare la costante DIM e i valori che passi alla funzione...
 
Riferimento: somma di due matrici

tutto chiaroooo....problema risolto!!!!!!!! ;) @ptm