Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-02-2013, 16: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, 16: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, 23: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, 05: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, 11: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, 11: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, 12: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, 12: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, 12: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, 12: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, 12: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, 12: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, 12: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, 13: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, 13: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, 13: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, 13: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 13:54.
Stek78 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2013, 14: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, 14: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, 14: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


DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
Ufficiale: Amazon taglia 14.000 posti di...
Firefox verso la trasparenza totale: i n...
Final Fantasy 7 Remake Part 3: arrivano ...
Elon Musk vuole 1.000 miliardi: il consi...
Il pixel più piccolo al mondo: un...
Windows 11: le 5 opzioni che Microsoft n...
Cuffie wireless PlayStation PULSE Elite ...
Un milione di utenti mostra disagio su C...
Un datacenter sottomarino alimentato da ...
iOS 26.1: è in arrivo il backup a...
Xbox Next Gen, non chiamatela console: s...
.Next On Tour Italia: innovazione, sempl...
PS Plus novembre: svelato in anticipo il...
'Gli elettroni sono il nuovo petrolio': ...
Amazon freme, non ce la fa ad aspettare ...
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: 14:04.


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