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 10-02-2013, 15:34   #1
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
[C/C++]Errore caricamento in matrice da file

Salve a tutti,
vi scrivo perché sto incontrando un problema nel caricamento di una matrice nrighe X 2 da un file di testo.
In pratica nel mio file ci sono numeri del genere:
103
520 2214
238 3031
3116 3437
4228 4848
4837 50

ma al momento del caricamento in matrice li carica in modo sbagliato, così:
10
3 5
20 22
14 23
8 30
31 31
16 34
37 42
28 48
48 48
37 50
naturalmente mi scombina tutto e mi restituisce un risultato sbagliato.
Mi potreste dare una mano a capire cos'è che mi da' questo problema?
Grazie
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 10-02-2013, 15:45   #2
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Senza codice è un po come capire cos'è il rosso per un cieco
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 10-02-2013, 22:34   #3
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
Giusto!
Ecco il codice della fase di caricamento!
Codice:
unsigned int missioni[NRIGHE][2],arrayi[NRIGHE],nr=0,i=0,j=0,somma=0,tmp;
    int maxgio=-100,num=0;
    bool trovato=false,fine=false;
    
    FILE *fin,*fout;
    
    fin=fopen("input.txt","r");
    fout=fopen("output.txt","w");
    
    fscanf(fin,"%u",&nr);
    
    for(i=0;i<nr;i++){
                      
          for(j=0;j<2;j++){
                           
                fscanf(fin,"%u",&missioni[i][j]);  
                if(missioni[i][j]!=0){
                     num++;               
                }        
          }
       
    }
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 04:43   #4
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Per curiosita' l'ho fatto girare e mi legge correttamente tutti i dati.
Ce l'hai detta proprio tutta? Scusa, intendevo dire: il file input.txt e' un file di testo? Non e' che l'estensione e' sbagliata e i dati sono in altro formato...
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 10:33   #5
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
Strano che ti funzioni!
Mi sta facendo uscire matto questo codice!
E' un file di testo .txt, altrimenti neanche lo leggeva...!
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 10:53   #6
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
Compilo con Dev C++!
Perchè?
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 11:12   #7
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
L'ho compilato con VS2005 (si, e' vecchio ma lo sono anch'io e per ora non mi hanno ancora buttato via). Funziona senza problemi.

Prova a pubblicare il file di testo completo, cosi' vediamo....
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 11:23   #8
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
Quello nel primo post è il file di testo completo!
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 11:28   #9
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da Stek78 Guarda i messaggi
Quello nel primo post è il file di testo completo!
Scusa ma
Codice:
103
520 2214
238 3031
3116 3437
4228 4848
4837 50
non puo' essere il file completo, visto che il primo numero dice di leggere 103 coppie, ma ne conto solo 5. (Nel mio test ho modificato questo valore a mano)
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 11:37   #10
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
Lo so' che può sembrar strano ma è un test datomi da fare e dice 103 righe quando poi ce ne sono solo 5(sta cosa non l'ho capita)infatti ho dovuto modificare il programma aggiungendo la variabile num che mi indica quanti numeri effettivamente ci sono...
Ma anche modificando quel parametro a me esce sbagliato il caricamento.
Boh.
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 11:41   #11
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quindi, se scrivi 5 al posto di 103, come dovrebbe effettivamente essere, ottieni lo stesso una sequenza sbagliata?
Perdona l'insistenza ma e' necessario verificare. Cosi' come e' necessario aggiungere i controlli
- sull'apertura del file (fin != NULL);
- sul numero di elementi che vai a leggere con la fscanf(), cosi' da essere sicuri che l'elemento e' stato letto. Siccome leggi un elemento alla volta, fscanf() ti deve ritornare 1. Altrimenti c'e' un errore.

Quote:
Originariamente inviato da Stek78 Guarda i messaggi
Lo so' che può sembrar strano ma è un test datomi da fare e dice 103 righe quando poi ce ne sono solo 5(sta cosa non l'ho capita)infatti ho dovuto modificare il programma aggiungendo la variabile num che mi indica quanti numeri effettivamente ci sono...
Ma anche modificando quel parametro a me esce sbagliato il caricamento.
Boh.
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 11:48   #12
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Quindi, se scrivi 5 al posto di 103, come dovrebbe effettivamente essere, ottieni lo stesso una sequenza sbagliata?

Quote:
Originariamente inviato da sottovento Guarda i messaggi
- sul numero di elementi che vai a leggere con la fscanf(), cosi' da essere sicuri che l'elemento e' stato letto. Siccome leggi un elemento alla volta, fscanf() ti deve ritornare 1. Altrimenti c'e' un errore.
Non ho capito cosa dovrei fare!Sorry!
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 11:56   #13
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da Stek78 Guarda i messaggi


Non ho capito cosa dovrei fare!Sorry!
Suggerivo di modificare leggermente il codice in modo da esser sicuri che le letture vadano a buon fine.
Insomma, c'e' qualcosa di strano se il tuo codice funziona sul mio computer e non sul tuo, pertanto devi cercare di ottenere piu' informazioni sull'errore.
Qui una libera interpretazione:

Codice:
unsigned int missioni[NRIGHE][2],arrayi[NRIGHE],nr=0,i=0,j=0,somma=0,tmp;
    int maxgio=-100,num=0;
    bool trovato=false,fine=false;
    int numReadItems;
    
    FILE *fin,*fout;
    
    fin=fopen("input.txt","r");
    if (fin == NULL)
    {
        perror ("Errore apertura input.txt. Errore:");
        return -1;
    }
//    fout=fopen("output.txt","w");
    
    numReadItems = fscanf(fin,"%u",&nr);
    if (numReadItems != 1)      // Deve ritornare 1 se tutto e' ok
    {
        printf ("Error reading tuple count\n");
        return -1;
    }
    
    for(i=0;i<nr;i++){
                      
          for(j=0;j<2;j++){
                           
                numReadItem = fscanf(fin,"%u",&missioni[i][j]);  
                if (numReadItem != 1)
                {
                    printf ("Error reading tuple [%d][%d]\n", i, j);
                    return -1;
                }

                if(missioni[i][j]!=0){
                     num++;               
                }        
          }
       
    }
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 12:36   #14
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
Non mi restituisce nulla!
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 12:39   #15
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da Stek78 Guarda i messaggi
Non mi restituisce nulla!
Intendi che non vedi nessun errore e nonostante questo ottieni dei valori errati?
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 12:44   #16
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Senti, riesci a fare un attachment del tuo file di input?
Non sapendo cos'altro pensare, mi viene da verificare se ci siano dei caratteri "strani" (magari non printabili) nel file....
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 12:50   #17
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
Sì non mi esce niente!
Allegati
File Type: txt input.txt (68 Bytes, 7 visite)

Ultima modifica di Stek78 : 11-02-2013 alle 12:54.
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 13:22   #18
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 13:25   #19
Stek78
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 25
Scusa la mia ignoranza, cosa significa?
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 13:26   #20
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
ho aperto il tuo file in vi e mi da quegli ^M
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è 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, ...
L'IA sempre più protagonista nei videogi...
Revolut ha consegnato passaporti e selfi...
Office 2021, 3 anni di aggiornamenti di ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
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: 07:44.


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