Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #1

    Salvare e leggere matrice somma da un file - Linguaggio[C]

    Salve ragazzi!! Come da titolo ho da svolgere questo esercizio che mi dice:
    "Date due matrici in input ne calcoli la matrice somma e la salvi prima all'interno di un file testo e poi la legga dallo stesso"

    Io per adesso sono arrivato qui :
    codice:
    #include <stdio.h>
    #include <iostream>
    #include <cstdlib>
    #include <cstring>
    
    #define N 10
    
    void Leggi_Mat(int a[N][N],int b[N][N]){
    int row;
     int column ;
     
    printf("Inserisci numero di righe: ");
    	scanf("%d",&row);
    	printf("Inserisci numero colonne: " );
    	scanf("%d",&column);
    	for(int i=0;i<row;i++){
    	
    		for(int j=0;j<column;j++){
    		
    			printf("Inserisci elmento di a[%d][%d]: ",i,j);
    			scanf("%d",&a[i][j]);
    		
    	}
    }
    	printf("\nInserisci numero di righe seconda matrice: ");
    	scanf("%d",&row);
    	printf("\nInserisci numero colonne sconda matrice: " );
    	scanf("%d",&column);
    	for(int i=0;i<row;i++){
    	
    		for(int j=0;j<column;j++){
    		
    			printf("Inserisci elmento di a[%d][%d]: ",i,j);
    			scanf("%d",&b[i][j]);
    		
    	}
    }
    }
    void Somma_Mat(int a[N][N],int b[N][N]){
    	FILE *fp;
    	fp=fopen("somma.txt","w");
    	int row;
     int column ;
    	int c[N][N];
    	
    printf("\nLa matrice somma e':\n");
    int i, j;
    for(int i=0;i<row;i++){
    	
    for(int j=0;j<column;j++)
       
       c[i][j]=a[i][j]+b[i][j];
    }
    for(int i=0;i<row;i++){
    	
    for(int j=0;j<column;j++)
    printf("%3d ",c[i][j]);
    printf("\n");
    fwrite(c,sizeof(int),row*column,fp);
    fclose(fp);
    }
    return;
    }
    int main() {
    	int a1[N][N];
    	int b1[N][N];
    	Leggi_Mat(a1,b1);
    Somma_Mat(a1,b1);
    return 0;
    }
    Vorrei un aiuto su come salvare e poi leggere la stessa matrice!
    PS: la define so che per questioni di memoria devo aumentarla quindi N=10 non va bene io metto N=300!! Questo perché nel corso di studi fatto all'Uni per il remo di ingegneria che faccio(aerospaziale) il mio prof ha escluso la memoria dinamica come argomento!!!
    Ultima modifica di AmedeoFalco; 30-08-2017 a 11:54

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.