Καλησπερα! Εχω ενα αρχειο txt με τα δεδομενα:
Ε01 2
Ε02 2
Ε03 3
Ε04 2
Ε05 3
Θελω να διαβαζω το αρχειο αυτο και να γεμιζω (μια λιστα; ) ως εξης: αφου το Ε01 εχει τον αριθμο 2 απο διπλα,να περναω στη λιστα το Ε01 2 φορες, το ιδιο και για τα υπολοιπα. Θέλω,δηλαδη,στο τελος να φτιαξω μια λιστα η οποια να ειναι καπως ετσι:
Ε01 Ε01 Ε02 Ε02 Ε03 Ε03 Ε03 Ε04 Ε04 Ε05 Ε05 Ε05
Καθε βοηθεια δεκτή. Αν δεν ειναι αναγκαιο να γινει κατι τετοιο με λιστα, ή αν υπαρχει καποιος ευκολοτερος τροπος, επισης δεκτός. Φαντάζομαι ομως οτι το καλυτερο για να υλοποιηθει κατι τετοιο ειναι η λιστα, μια και θελω να διαγραφω σιγα-σιγα αυτα τα Ε01, Ε02 κτλ.
Εμφάνιση 1-5 από 5
-
12-03-11, 22:57 Διαβασμα απο αρχειο txt και γεμισμα λιστας στη C #1
-
13-03-11, 14:11 Απάντηση: Διαβασμα απο αρχειο txt και γεμισμα λιστας στη C #2
Παραθετω τον κωδικα που εχω γραψει μεχρι στιγμης:
Κώδικας:#include <stdio.h> #include <stdlib.h> char temp; char on_erg; int i,j; int plithos_erg; char ergasia[3]; struct ergasies {char erg[3]; struct ergasies *next; }*head,*tail,*new,*tempor; main() { head=tail=NULL; FILE *fp; char fname[15]; printf("Enter file name to load:"); scanf("%s",fname); while ((temp=getchar())!='\n'); if ((fp =fopen(fname, "r")) ==NULL) { printf("no file"); system("pause"); exit(1); } while((temp=getc(fp)!=EOF)) {fgets(ergasia,4,fp); fscanf(fp,"%d",&plithos_erg); for(j=0;j<plithos_erg;j++) { new=(struct ergasies*)malloc(sizeof(struct ergasies)); if(new==NULL) {printf("Memory allocation error"); exit(1);} new->erg[0]=ergasia[0]; new->erg[1]=ergasia[1]; new->erg[2]=ergasia[2]; new->next=NULL; if(head==NULL) { head=tail=new; } else {tail->next=new; tail=new;} } } fclose(fp); printf("Lista ergasiwn:\n"); tempor=head; while(tempor!=NULL) {for(i=0;i<3;i++) printf("%c",tempor->erg[i]); printf(" "); tempor=tempor->next;} }
-
13-03-11, 15:18 Απάντηση: Διαβασμα απο αρχειο txt και γεμισμα λιστας στη C #3Κώδικας:
#include <stdio.h> #include <stdlib.h> char temp; char on_erg; int i,j; int plithos_erg; char ergasia[3]; struct ergasies {char erg[3]; struct ergasies *next; }*head,*tail,*new1,*tempor; int main(){ head=tail=NULL; FILE *fp; char fname[15]; printf("Enter file name to load:"); scanf("%s",fname); while ((temp=getchar())!='\n'); if ((fp =fopen(fname, "r")) ==NULL){ printf("no file"); getchar(); exit(1); } while(!feof(fp)){ fscanf(fp,"%s %d",ergasia,&plithos_erg); if (feof(fp)) break; for(j=0;j<plithos_erg;j++){ new1=(struct ergasies*)malloc(sizeof(struct ergasies)); if(new1==NULL){ printf("Memory allocation error"); getchar(); exit(1); } new1->erg[0]=ergasia[0]; new1->erg[1]=ergasia[1]; new1->erg[2]=ergasia[2]; new1->next=NULL; if(head==NULL) head=tail=new1; else{ tail->next=new1; tail=new1; } } } fclose(fp); printf("Lista ergasiwn:\n"); tempor=head; while(tempor!=NULL){ for(i=0;i<3;i++) printf("%c",tempor->erg[i]); printf(" "); tempor=tempor->next; } getchar(); }
-
13-03-11, 15:56 Απάντηση: Διαβασμα απο αρχειο txt και γεμισμα λιστας στη C #4
Δες αυτο
Κώδικας:int main() { node n; FILE *fp = fopen("G:\\tt.txt","r"); while(fscanf(fp,"%3s %d\n",n.szCode,&n.nTimes) != EOF) printf("%s %d\n",n.szCode,n.nTimes); fclose(fp); return 0; }
Κώδικας:typedef struct { char szCode[4]; int nTimes; }node;
-
14-03-11, 00:51 Απάντηση: Διαβασμα απο αρχειο txt και γεμισμα λιστας στη C #5
Ευχαριστω πολυ για τις απαντησεις, τωρα δουλευει μια χαρα!
Παρόμοια Θέματα
-
Προβλημα με διαβασμα απο αρχειο σε πινακα στη C
Από ambageo στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 13Τελευταίο Μήνυμα: 25-11-10, 12:37 -
c++ Γέμισμα vectors 2D απο αρχείο. τεχνιικη βοήθεια
Από nt5352 στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 14Τελευταίο Μήνυμα: 27-10-09, 11:34 -
Διάβασμα δεδομένων από αρχείο txt με SQL και αναβάθμιση πίνακα
Από berta στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 2Τελευταίο Μήνυμα: 29-07-09, 09:47 -
Διάβασμα από αρχείο.
Από Sayer στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 0Τελευταίο Μήνυμα: 20-05-08, 15:52 -
Διάβασμα λίστας κλήσεων από το ΑΤΑ...
Από Zarzour στο φόρουμ ADSLΜηνύματα: 8Τελευταίο Μήνυμα: 09-01-05, 03:57
Bookmarks