Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-10-2003, 10:10   #1
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
[Visual C++ .NET] Matrici

Salve,
sono sempre io... deciso a farmi del male abbandonando il buon caro vecchio linux e programmando ora in winzoz... Ma veniamo al dunque:
dovrei creare una funzione che legga da file ASCII (diciamo txt) dei valori "double" e li metta in una matrice. Facile dite? Il fatto è che il numero di colonne della matrice è fisso (una ventina) ma non so a priori il numero delle righe... Cosa mi conviene fare? Mandatemi un paio di dritte, grazie.
PS
Siccome ho appena cominciato ad adentrarmi nel mondo .NET vi pregherei di specificare non solo le funzioni ma anche le librerie a cui fare riferimento, ecc.
Avrei anche un altro problema ma... aprirò un'altra discussione!
cipi
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2003, 11:21   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ma stai programmando con .Net o normale C++ liscio ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2003, 12:47   #3
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Il file txt è una specifica / vincolo che ti è stato dato oppure hai deciso tu?

Se hai deciso tu puoi benissimo supporre che nel file è memorizzata la matrice per righe, per cui ogni riga del file contiene esattamente 20 numeri (le 20 colonne della matrice).
Il fatto che tu non sappia il numero di righe non è un problema rilevante. Tu leggi il file dall'inizio alla fine riga per riga e scopri quante righe ha.

Per leggere usi StreamReader del namespace System.IO

Per gestire il numero di righe variabili puoi usare un' ArrayList (array dinamico) del namespace System.Collections. L'ArrayList contiene a sua volta degli array (statici di 20 elementi) che rappresentano ognuno le righe... poi se proprio vuoi un array e non un array list dopo fai un ToArray() e ti spara fuori un array statico....

Ciaociao
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2003, 18:32   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
soalle...aspetta perchè in un altro post parla di MFC
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2003, 18:50   #5
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Già risposto...
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2003, 10:27   #6
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
Quote:
Originariamente inviato da soalle
Il file txt è una specifica / vincolo che ti è stato dato oppure hai deciso tu?

Se hai deciso tu puoi benissimo supporre che nel file è memorizzata la matrice per righe, per cui ogni riga del file contiene esattamente 20 numeri (le 20 colonne della matrice).
Il fatto che tu non sappia il numero di righe non è un problema rilevante. Tu leggi il file dall'inizio alla fine riga per riga e scopri quante righe ha.

Per leggere usi StreamReader del namespace System.IO

Per gestire il numero di righe variabili puoi usare un' ArrayList (array dinamico) del namespace System.Collections. L'ArrayList contiene a sua volta degli array (statici di 20 elementi) che rappresentano ognuno le righe... poi se proprio vuoi un array e non un array list dopo fai un ToArray() e ti spara fuori un array statico....

Ciaociao
Ciao,
intanto, grazie soalle: stai diventando il mio mentore informatico!!!
Secondo: i file di ingresso inizialmente dovevano essere in excel... Il problema è nato in quanto Excel non tratta matrici con più di un 65k righe... (+ o -). Allora mi sono dato al caro vecchio txt...
Ho scelto il VC++.NET in quanto già conosco bene il C e mastico già un po' il C++: dovendo produrre il programma il prima possibile, non potevo permettermi di studiare il C# (ma lo farò appena possibile!). Ecco perchè devo capire velocissimamente come creare una interfaccia che richiami gli algoritmoni (che ho già prodotto...) Quindi, riesci a darmi un paio di dritte ancora su dove puntare l'attenzione al riguardo di MFC...?
Per quanto riguarda quanto mi hai scritto sopra... proverò e MI FARO' SENTIRE MOLTO PRESTO! E' UNA MINACCIA:::
Ciao e grazie ancora....
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2003, 10:40   #7
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Becchi male.... di MFC non so niente... probabilmente il guru cionci ti potrà dire qualcosa...

Mi pare tuttavia che se scegli C++.NET + MFC tu sia costretto ad affidarti a codice unmanaged (ditemi se sbaglio)...

Per quanto riguarda la mega matrice... hai bisogno di + di 65k righe??? altrimenti considera che ci sono le classi managed e unmanaged per interfacciarsi ad excel...
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2003, 11:08   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Costruire un'interfaccia che richiama i tuoi algoritmi si fa abbastanza alla svelta con MFC...

Crei un nuovo progetto di tipo Dialog...vai in ResourceView...doppio click sul Dialog principale...
Selezioni una risorsa (un tasto, il form stesso, una textbox) e con il tasto destro vai su ClassWizard... In quella finestra ci sono tutti i vari messaggi che talerisorsa può generare...

Selezioni il messaggio da gestire...Add function e fai la funzione che, ad esempio, può gestire un tasto (in teoria potresti lanciarci il tuo algoritmo)...

Sempre su Class Wizard -> Member Variables puoi associare ad una variabile della tua classe principale una risorsa...
In questo modo puoi gestire l'input e l'output...
Puoi associare per valore o per oggetto...

Se assci per valore con la funzione UpdateData puoi fare in modo che i dati contenuti nelle variabili vadano a finire nella risorsa associata o viceversa...

Comunque se vuoi questo libro ti può aiutare: http://www.devpride.com/Linguaggi/C+...l/MFC_Book.zip
Ovviamente è indispensabile l'MSDN Library...

Ultima modifica di cionci : 30-10-2003 alle 11:16.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2003, 14:18   #9
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
puntuale come un orologio svizzero
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2003, 14:42   #10
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2003, 15:06   #11
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
A chi interessasse, in modo molto grezzo (penso) avevo risolto così:
(...)
ifstream f1("nomefile.txt",ios::in);
(...)
do{
f1 >> value;
Y->Add(__box(value));
}while(!f1.eof);
Double YY[,]=new Double[((Y->Count)/Numero_colonne)+1,Numero_colonne+1];
int count=0;
int i=0;
do{
i++;
for(int j=1;j<=Numero_colonne;j++)
{
count++;
YY[i,j]=Convert::ToDouble(Y->get_Item(i+j-2)); // per gli indici da 1 e non da 0
}
}while(count<(Y->Count));
(...)



Ciao
PS Ogni commento è ben accetto!!!
cipi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Airbus realizzerà altri 229 satel...
Arianespace lancerà altri satelli...
Eutelsat ha annunciato di aver affidato ...
PLD Space ha annunciato il nuovo razzo s...
CMF Clip Pro, tanta autonomia e design u...
Tre leggende del rally sbarcano in Asset...
iPhone 18 Pro Max, il chip A20 Pro mostr...
Samsung porterà il Privacy Displa...
WINDTRE BUSINESS trasforma la rete mobil...
Anthropic ammette un quarto caso di acce...
Mazda CX-6e, il primo test drive: quando...
La serie HONOR Magic 9 arriva a fine set...
Anker MagGo Power Bank 2 Pro arriva in I...
iRobot rilancia con Roomba Duo, il proto...
#linux su IRC è tornato dopo anni di sil...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v