Salve mi sono appena iscritto a questo forum e spero di trovare qualcuno che possa aiutarmi con la programmazione C.
Ho un problema devo scrivere un programma che prende in input due matrici "rettangolari" A e B.
Nella matrice A ne somma le colonne nella B somma le righe, fa un confronto per vedere quale somma e maggiore e la colonna o la riga con il risultato maggio deve essere inserita in una nuova matrice C.
Ho buttato giu un po di codice... mi gira quasi tutto bene, solo che non riesco a creare la nuova matrice ...potreste aiutarmi... grazie
#include<malloc.h>
#include<stdio.h>
#include<stdlib.h>
int ** leggi(int,int,int,int);
void somma(int**,int**,int,int,int,int);
int main(){
int i,j;
int r,c,r1,c1;
int **matrix;
int **matrix2;
printf("**********\n*\t *\n* Step 1 *\n*\t *\n**********\n");
printf("Ins numero di righe: ");
scanf("%d",&r);
printf("Ins numero di colonne: ");
scanf("%d",&c);
matrix=(int**)malloc(r*sizeof(int*));
printf("**********\n*\t *\n* Step 2 *\n*\t *\n**********\n");
printf("\n** Inserisci i valori della matrice **\n");
for(i=0;i<r;i++){
matrix[i]=(int*)malloc(c*sizeof(int));
}
matrix=leggi(r,c,i,j);
printf("**********\n*\t *\n* Step 1 *\n*\t *\n**********\n");
printf("Ins numero di righe: ");
scanf("%d",&r1);
printf("Ins numero di colonne: ");
scanf("%d",&c1);
matrix2=(int**)malloc(r1*sizeof(int*));
printf("**********\n*\t *\n* Step 2 *\n*\t *\n**********\n");
printf("\n** Inserisci i valori della seconda matrice **\n");
for(i=0;i<r1;i++){
matrix2[i]=(int*)malloc(c1*sizeof(int));
}
matrix2=leggi(r1,c1,i,j);
somma(matrix,matrix2,r,c,r1,c1);
system("Pause");
return 0;
}
int** leggi(int r,int c,int i,int j){
void stampa(int**,int,int);
//void somma(int**,int,int);
int **matrix;
for(i=0;i<r;i++){
for(j=0;j<c;j++){
printf("inserisci valore in %d %d: ",i,j);
scanf("%d",&matrix[i][j]);
}
}
stampa(matrix,r,c);
return matrix;
}
void stampa(int **matrix,int R,int C){
int i,j;
printf("matrice con %d righe e %d colonne:\n",R,C);
for(i=0;i<R;i++){
for(j=0;j<C;j++){
printf("\t%d",matrix[i][j]);
}
printf("\n");
}
}
void somma(int **matrix, int **matrix2,int r,int c,int r1,int c1){
int k[3][2];
int sc;
int sr;
int i,j;
int sommaC = 0;
int sommaR = 0;
for(j=0 ; j<c; j++){
int somma = 0;
for(i=0; i<r; i++){
somma = somma + matrix[i][j] ;
sc = (int)somma;
}
printf("Somma colonna matrice 1:: %d\n", sc) ;
}
for(i=0; i<r1; i++){
int sommaR = 0;
for(j=0 ; j<c1; j++){
sommaR = sommaR + matrix2[i][j] ;
sr = (int)sommaR;
}
printf("Somma riga matrice 2:: %d\n", sr) ;
}
}