PDA

View Full Version : IMPORTANTE:C++ matrice +file:super urgente per favore!!!!


nuci
28-05-2005, 21:05
Per favore leggete qui e aiutatemi!e super urgente! :confused:
Ciao,sono una novizia del campo(studio c++ da pochissimo tempo,meglio tardi che mai,e uso windows con compilatore visual net)e ho un problema.
ho un file con estensione dat in cui compare una matrice di 136 righe x 1645 colonne,i cui elementi sono numeri(esempio di una riga:0 0.0058616 -0.000236782 0.000124908 -1.29266e-05 667.863 6.03358 1.51193 ..)ma a volte compare anche la parola nan.ogni elemento della matrice dista uno spazio da un altro elemento.
devo fare un programma che apre il file in lettura,converte le righe con le colonne e mette il risultato su un altro file.Aprendo i due file in lettura con fopen come posso fare sto programma?lo so sara pure facile,ma per me e terreno nuovo.grazie!!!!!!!!!!!!!!!!!!!!!!! :)

VegetaSSJ5
29-05-2005, 09:13
cosa intendi per convertire le righe con le colonne?? :confused:

nuci
29-05-2005, 11:35
ciao!intendo che se la matrice e' 136x 1654,per esempio,deve essere 1654 per 136..cioe la prima colonna diventa la prima riga,la seconda colonna diventa la seconda riga...e cosi via..il problema e che gli elementi della matrice sono vari,dai float con segno alla parola nan.
Pero per esempio la prima riga contiene 136 elementi vari,tutti distanziati da uno spazio.

Fenomeno85
29-05-2005, 16:32
e che problemi hai nel fare la matrice inversa??

~§~ Sempre E Solo Lei ~§~

nuci
29-05-2005, 17:04
il mio problema non e invertire le righe con le colonne,e capire come memorizzare i dati del file di 136x 1654 elementi in una matrice per poi lavorare su questa.cosa e meglio usare?una fread o una fscanf?e come?non sono tutti float..
scusa l ignoranza ma con cosi poco tempo non ho potuto capire di piu di c++..

Fenomeno85
29-05-2005, 17:26
il mio problema non e invertire le righe con le colonne,e capire come memorizzare i dati del file di 136x 1654 elementi in una matrice per poi lavorare su questa.cosa e meglio usare?una fread o una fscanf?e come?non sono tutti float..
scusa l ignoranza ma con cosi poco tempo non ho potuto capire di piu di c++..

allora fai una cosa del genere




union Valore{
char stringa [N];
float val;
}


e poi tiri su con fscanf.

~§~ Sempre E Solo Lei ~§~

nuci
29-05-2005, 18:20
grazie.pero devo capire,non avevo proprio pensato di memorizzare i dati in una classe.cioe leggendo il file butto i dati nella union? :confused:
scusa la seccatura...

Fenomeno85
30-05-2005, 15:22
grazie.pero devo capire,non avevo proprio pensato di memorizzare i dati in una classe.cioe leggendo il file butto i dati nella union? :confused:
scusa la seccatura...

non è una classe è una struttura di tipo union ;) questo ti permettere di vedere quella parte di memoria sia come stringa che come float.
In questo modo dopo potrai anche usare metodi sulle stringhe per eliminare o fare quello che devi fare se trovi nan.

~§~ Sempre E Solo Lei ~§~

nuci
31-05-2005, 20:39
ok grazie ora mi torna!ciao!

cionci
01-06-2005, 00:08
e che problemi hai nel fare la matrice inversa??
Quella è la trasposta... L'inversa è un'altra cosa...

Fenomeno85
01-06-2005, 05:10
Quella è la trasposta... L'inversa è un'altra cosa...

si hai ragione :stordita:

~§~ Sempre E Solo Lei ~§~