Ciao ragazzi! Ho un problema con un programma che devo creare sia in c che in java.
Questo programma prende in ingresso due file contenenti delle matrici di double scritte per righe intervallate da spazi. Il primo numero dei file indica l'ordine delle matrici. Per esempio se nel file troviamo 2 0 1 2 3 5 6 4 8 5 2 3 4 vuol dire che abbiamo tre matrici 2x2:
01 56 52
23 48 34
Il programma deve fare la somma tra le matrici dei due file e riportare le matrici di risultato in un terzo file.
Ora non vi posto direttamente il codice perchè è un marasma più totale.
Ho bisogno di idee.
Per quanto riguarda il C ho pensato per ora di creare due figli ( siamo su ubuntu ). Il padre(main) apre il file e con la fscanf legge il primo elemento, crea un array grande abbastanza per ospitare 5 matrici e chiude i file. I figli riaprono ognuno un file, lo leggono sempre con la fscanf e si salvano i valori trovati in un array loro sempre grande 5 matrici, dopodichè tramite pipe inviano i valori al padre che una volta ricevuti da entrambi i figli li somma e mette il risultato nel suo array per poi scrivere sul terzo file.
I file sono da leggere a blocchi per evitare un errore di memoria.
Avete qualche idea per migliorare il programma?? C'è un modo per passare tutto il contenuto dell'array dei figli al padre in una volta sola? buffer??
In Java per accedere al file a blocchi uso RandomAccesFile. . .può andare bene??
Grazie in anticipo! ciao!!!