iPantelis Δημοσ. 24 Φεβρουαρίου 2012 Μέλος Δημοσ. 24 Φεβρουαρίου 2012 στείλε όλο τον κώδικα να στο φτιάξω Τσάμπα σε βάζω σε κόπο... Ορίστε ο κώδικας... > #include <stdio.h> #include <stdlib.h> typedef struct nd node; // Sinonimo tou struct nd /* Aytoanaferomeni domi */ struct nd{ int data; node *next; }; typedef node *nodeptr; // Sinonimo tou node* // Oi sinartiseis ginontai me Call By Reference ektos apo tin printlist,elegxos. void menuepilogon (); // Sinartisi pou tha provalei tis diathesimes epiloges tou xristi. void printlist (nodeptr currentptr); // Sinartisi pou tha emfanizei tin lista. void insert (nodeptr *sptr, int value); // Sinartisi pou prostheti ena stoixeio stin lista. void freeMemory (nodeptr *sptr); // Sinartisi pou svinei tin lista kai apeleytheronei tin mnimi pou xriastike. void deletesame (nodeptr *sptr); // Sinartisi pou svinei ta idia stoixeia pou iparxoun stin lista. char elegxos(char *choice); // Sinartisi gia ton elegxo egkirotitas tis epilogis. char epilogi; // Metavliti gia apothikeysei tis epilogis tou xristi. char choice[2]={'0','\0'}; // Dilosi pinaka pou tha apothikeyei ta 2 prota psifia apo tin simvoloseira pou tha dinei o xristis. int item; // Diloseis metavliton. int main (int argc, char *argv[]) { nodeptr startptr = NULL; // Diktis pou tha dixnei stin arxi tis listas. menuepilogon (); printf ("Doste tin epilogi sas:"); scanf ("%2s",choice); // Apothikeysi sto string mono ta 2 prota psifia apo ayto pou tha pliktrologisi o xristis. fflush(stdin); epilogi=elegxos(choice); while (epilogi != '4'){ // Ean dothei i epilogi 4 ginete eksodos apo to programma. // Analoga me tin epilogi ektelite kai i katalili diadikasia. switch (epilogi){ case '0': // Epilogi 0: Emfanisi tou menou epilogon. menuepilogon (); break; case '1': // Epilogi 1: Diavasma tou stoixeiou kai prosthiki stin lista me tin voitheia tis sinartisis insert. printf ("Dose ena stoixeio gia tin lista:"); while (scanf ("%d",&item)){ insert (&startptr, item); } getch(); break; case '2':// Epilogi 2: Emfanisi tis listas. printlist (startptr); break; case '3': // Epilogi 3: Diagrafi ton idion stoixeion tis listas kai emfanisei tis ananeomenis listas. deletesame (&startptr); printlist(startptr); break; } // Diavasma tis epomenis epilogis. printf ("\nDoste san epilogi to 0 gia na emfanistei o katalagos me tis epiloges sas."); printf ("\nDoste tin epilogi sas:"); scanf ("%2s",choice); fflush(stdin); epilogi=elegxos(choice); } freeMemory (&startptr); // Apeleytherosi tis desmeymenis mnimis return 0; } void menuepilogon() { printf ("\nPliktrologiste:\n"); printf ("1 : Ean thelete na prosthesete ena neo stoixeio stin lista."); printf ("\n2 : Ean thelete na ektiposete tin idi iparxousa lista."); printf ("\n3 : Ean thelete na diagrafoun ta idia stoixeia tis listas."); printf ("\n4 : Ean thelete na ginei eksodos apo to programma.\n"); } void printlist (nodeptr currentptr) // Xrisomopoihsh tis currentptr os enos prosorinou dikti gia tn prospelasi tis listas dixnontas arxika stin arxi tis listas. { if (currentptr == NULL ){ // Sinthiki pou eksetazei ean i lista einai keni. printf ("H lista den periexei kanena stoixeio.\n"); } /* Ean dn einai keni emfanizei ola ta stoixeia tis listas me tin voitheia tis currentptr pou afou emfanisei ena stoixeio dixnei ton epomeno komvo.*/ else{ printf ("\nH lista einai i eksis:\n"); while (currentptr != NULL){ printf ("%d -->",currentptr->data); currentptr=currentptr->next; } printf ("Telos tis listas.\n"); } } void insert (nodeptr *sptr,int value) { nodeptr newptr,previousptr,currentptr; // Dilosi dikton pou tha xriastoun gia na prostethei to stoixeio stin sosti thesi. newptr = malloc( sizeof (node)); // Dinamiki katanomi mnimis pou tha xriastei gia tin dimiourgia neou komvou stin lista. if (newptr!=NULL){ // Sinthiki pou dilonei ean egine epitiximena i desmeysi mnimis. newptr->data=value; // Prosthiki tou neou stoixeiou ston kainourgio komvo; newptr->next=NULL; /* Deiktes gia tin eyresi tin sosti thesi pou prepei na mpei o komvos */ previousptr = NULL; currentptr = *sptr; /* Arxi epanalipsis gia na vroume tin sosti thesi pou prepei na mpei o komvos */ while (currentptr != NULL && value>=currentptr->data){ previousptr = currentptr; currentptr = currentptr->next; } /* Ean o previousptr = NULL tote to stoixeio pou periexei o komvos einai to mikrotero se timi kai prepei na mpei stin arxi tis listas */ if (previousptr == NULL){ newptr->next = *sptr; *sptr=newptr; } // Allios tha mpei anamesa ston previousptr kai ston currenptr else{ previousptr->next=newptr; newptr->next=currentptr; } } // Minima se periptosi apotiximenis prospatheias desmeysi mnimis. else { printf ("\nDen yparxei diathesimi mnimi gia eisagogi allou stoixeiou stin lista."); } } void freeMemory (nodeptr *sptr) { nodeptr tempptr; // Prosorinos diktis komvou. while (*sptr != NULL){ tempptr = *sptr; // Parameni ston komvo pou aferite. *sptr = (*sptr)->next; // Katargei ta nimata tou komvou. free (tempptr); // Apeleytherosi tou xoris nimata komvou. } } void deletesame (nodeptr *sptr) { nodeptr nextptr, currentptr; // Dilosi dikton pou tha xriastoun. if(*sptr==NULL) {return;} // Termatise tin sinartisi ean den iparxoun stoixeia se aytin. currentptr = *sptr; // Diktis pou dixnei ston trexonta komvo. nextptr = currentptr->next;// Diktis pou dixnei ston epomeno komvo. while(nextptr != NULL) { // Otan o nextptr tha einai NULL o currenptr tha einai sto teleytaio komvo tis listas. if (currentptr->data == nextptr->data) { // Ean o trexontas kai o epomenos komvos exoun idia stoixeia... currentptr->next = nextptr->next; // Enose ta nimata tou epomenou komvou me tin paraepomeno... free(nextptr); // Svise ton, xoris nimata, epomeno komvo. nextptr = currentptr->next; // O nextptr dixnei ston epomeno komvo pou dixnei o currentptr. } /* Ean den exoun idia stoixeia proxorame stous 2 epomenous komvous.*/ else { currentptr = nextptr; nextptr = currentptr->next; } } } char elegxos(char *choice) { char epilogi; epilogi=choice[0]; /* Den mpainei stin epanalipsi ean oi epiloges einai 0,1,2,3 h 4 */ while ((choice[0]!='0' || choice[1]!='\0') && (choice[0]!='1' || choice[1]!='\0') && (choice[0]!='2' || choice[1]!='\0') && (choice[0] !='3' || choice[1]!='\0') && (choice[0] !='4' || choice[1]!='\0')){ /* Emfanisi minima lathous gia lathos epilogi */ printf ("\nLathos epilogi!"); printf ("\nDoste san epilogi to 0 gia na emfanistei o katalagos me tis epiloges sas."); printf ("\nDoste tin epilogi sas:"); /* Eisagogi se ena string ta 2 prota psifia apo tin epilogi pou edose o xristis gia na elexoume ean einai diaforetika apo tis epiloges pou prepei na dosei o xristis */ scanf ("%2s",choice); fflush(stdin); epilogi=choice[0]; } /* Otan dothei egkiri epilogi tha epistrefetai sto kirios programma gia na sinexisei na ekteletai. */ return epilogi; }
virxen75 Δημοσ. 24 Φεβρουαρίου 2012 Δημοσ. 24 Φεβρουαρίου 2012 > #include <stdio.h> #include <stdlib.h> typedef struct nd node; // Sinonimo tou struct nd /* Aytoanaferomeni domi */ struct nd{ int data; node *next; }; typedef node *nodeptr; // Sinonimo tou node* // Oi sinartiseis ginontai me Call By Reference ektos apo tin printlist,elegxos. void menuepilogon (); // Sinartisi pou tha provalei tis diathesimes epiloges tou xristi. void printlist (nodeptr currentptr); // Sinartisi pou tha emfanizei tin lista. void insert (nodeptr *sptr, int value); // Sinartisi pou prostheti ena stoixeio stin lista. void freeMemory (nodeptr *sptr); // Sinartisi pou svinei tin lista kai apeleytheronei tin mnimi pou xriastike. void deletesame (nodeptr *sptr); // Sinartisi pou svinei ta idia stoixeia pou iparxoun stin lista. char elegxos(char *choice); // Sinartisi gia ton elegxo egkirotitas tis epilogis. char epilogi; // Metavliti gia apothikeysei tis epilogis tou xristi. char choice[2]={'0','\0'}; // Dilosi pinaka pou tha apothikeyei ta 2 prota psifia apo tin simvoloseira pou tha dinei o xristis. int item; // Diloseis metavliton. int main (int argc, char *argv[]) { nodeptr startptr = NULL; // Diktis pou tha dixnei stin arxi tis listas. menuepilogon (); printf ("Doste tin epilogi sas:"); scanf ("%2s",choice); // Apothikeysi sto string mono ta 2 prota psifia apo ayto pou tha pliktrologisi o xristis. fflush(stdin); epilogi=elegxos(choice); while (epilogi != '4'){ // Ean dothei i epilogi 4 ginete eksodos apo to programma. // Analoga me tin epilogi ektelite kai i katalili diadikasia. switch (epilogi){ case '0': // Epilogi 0: Emfanisi tou menou epilogon. menuepilogon (); break; case '1': // Epilogi 1: Diavasma tou stoixeiou kai prosthiki stin lista me tin voitheia tis sinartisis insert. printf ("Dose ena stoixeio gia tin lista:"); while (scanf ("%d",&item)){ insert (&startptr, item); } while (char ch=getchar()!='\n'); break; case '2':// Epilogi 2: Emfanisi tis listas. printlist (startptr); break; case '3': // Epilogi 3: Diagrafi ton idion stoixeion tis listas kai emfanisei tis ananeomenis listas. deletesame (&startptr); printlist(startptr); break; } // Diavasma tis epomenis epilogis. printf ("\nDoste san epilogi to 0 gia na emfanistei o katalagos me tis epiloges sas."); printf ("\nDoste tin epilogi sas:"); scanf ("%2s",choice); fflush(stdin); epilogi=elegxos(choice); } freeMemory (&startptr); // Apeleytherosi tis desmeymenis mnimis return 0; } void menuepilogon() { printf ("\nPliktrologiste:\n"); printf ("1 : Ean thelete na prosthesete ena neo stoixeio stin lista."); printf ("\n2 : Ean thelete na ektiposete tin idi iparxousa lista."); printf ("\n3 : Ean thelete na diagrafoun ta idia stoixeia tis listas."); printf ("\n4 : Ean thelete na ginei eksodos apo to programma.\n"); } void printlist (nodeptr currentptr) // Xrisomopoihsh tis currentptr os enos prosorinou dikti gia tn prospelasi tis listas dixnontas arxika stin arxi tis listas. { if (currentptr == NULL ){ // Sinthiki pou eksetazei ean i lista einai keni. printf ("H lista den periexei kanena stoixeio.\n"); } /* Ean dn einai keni emfanizei ola ta stoixeia tis listas me tin voitheia tis currentptr pou afou emfanisei ena stoixeio dixnei ton epomeno komvo.*/ else{ printf ("\nH lista einai i eksis:\n"); while (currentptr != NULL){ printf ("%d -->",currentptr->data); currentptr=currentptr->next; } printf ("Telos tis listas.\n"); } } void insert (nodeptr *sptr,int value) { nodeptr newptr,previousptr,currentptr; // Dilosi dikton pou tha xriastoun gia na prostethei to stoixeio stin sosti thesi. newptr = (node *)malloc( sizeof (node)); // Dinamiki katanomi mnimis pou tha xriastei gia tin dimiourgia neou komvou stin lista. if (newptr!=NULL){ // Sinthiki pou dilonei ean egine epitiximena i desmeysi mnimis. newptr->data=value; // Prosthiki tou neou stoixeiou ston kainourgio komvo; newptr->next=NULL; /* Deiktes gia tin eyresi tin sosti thesi pou prepei na mpei o komvos */ previousptr = NULL; currentptr = *sptr; /* Arxi epanalipsis gia na vroume tin sosti thesi pou prepei na mpei o komvos */ while (currentptr != NULL && value>=currentptr->data){ previousptr = currentptr; currentptr = currentptr->next; } /* Ean o previousptr = NULL tote to stoixeio pou periexei o komvos einai to mikrotero se timi kai prepei na mpei stin arxi tis listas */ if (previousptr == NULL){ newptr->next = *sptr; *sptr=newptr; } // Allios tha mpei anamesa ston previousptr kai ston currenptr else{ previousptr->next=newptr; newptr->next=currentptr; } } // Minima se periptosi apotiximenis prospatheias desmeysi mnimis. else { printf ("\nDen yparxei diathesimi mnimi gia eisagogi allou stoixeiou stin lista."); } } void freeMemory (nodeptr *sptr) { nodeptr tempptr; // Prosorinos diktis komvou. while (*sptr != NULL){ tempptr = *sptr; // Parameni ston komvo pou aferite. *sptr = (*sptr)->next; // Katargei ta nimata tou komvou. free (tempptr); // Apeleytherosi tou xoris nimata komvou. } } void deletesame (nodeptr *sptr) { nodeptr nextptr, currentptr; // Dilosi dikton pou tha xriastoun. if(*sptr==NULL) {return;} // Termatise tin sinartisi ean den iparxoun stoixeia se aytin. currentptr = *sptr; // Diktis pou dixnei ston trexonta komvo. nextptr = currentptr->next;// Diktis pou dixnei ston epomeno komvo. while(nextptr != NULL) { // Otan o nextptr tha einai NULL o currenptr tha einai sto teleytaio komvo tis listas. if (currentptr->data == nextptr->data) { // Ean o trexontas kai o epomenos komvos exoun idia stoixeia... currentptr->next = nextptr->next; // Enose ta nimata tou epomenou komvou me tin paraepomeno... free(nextptr); // Svise ton, xoris nimata, epomeno komvo. nextptr = currentptr->next; // O nextptr dixnei ston epomeno komvo pou dixnei o currentptr. } /* Ean den exoun idia stoixeia proxorame stous 2 epomenous komvous.*/ else { currentptr = nextptr; nextptr = currentptr->next; } } } char elegxos(char *choice) { char epilogi; epilogi=choice[0]; /* Den mpainei stin epanalipsi ean oi epiloges einai 0,1,2,3 h 4 */ while ((choice[0]!='0' || choice[1]!='\0') && (choice[0]!='1' || choice[1]!='\0') && (choice[0]!='2' || choice[1]!='\0') && (choice[0] !='3' || choice[1]!='\0') && (choice[0] !='4' || choice[1]!='\0')){ /* Emfanisi minima lathous gia lathos epilogi */ printf ("\nLathos epilogi!"); printf ("\nDoste san epilogi to 0 gia na emfanistei o katalagos me tis epiloges sas."); printf ("\nDoste tin epilogi sas:"); /* Eisagogi se ena string ta 2 prota psifia apo tin epilogi pou edose o xristis gia na elexoume ean einai diaforetika apo tis epiloges pou prepei na dosei o xristis */ scanf ("%2s",choice); fflush(stdin); epilogi=choice[0]; } /* Otan dothei egkiri epilogi tha epistrefetai sto kirios programma gia na sinexisei na ekteletai. */ return epilogi; } έτοιμο
iPantelis Δημοσ. 24 Φεβρουαρίου 2012 Μέλος Δημοσ. 24 Φεβρουαρίου 2012 > #include <stdio.h> #include <stdlib.h> typedef struct nd node; // Sinonimo tou struct nd /* Aytoanaferomeni domi */ struct nd{ int data; node *next; }; typedef node *nodeptr; // Sinonimo tou node* // Oi sinartiseis ginontai me Call By Reference ektos apo tin printlist,elegxos. void menuepilogon (); // Sinartisi pou tha provalei tis diathesimes epiloges tou xristi. void printlist (nodeptr currentptr); // Sinartisi pou tha emfanizei tin lista. void insert (nodeptr *sptr, int value); // Sinartisi pou prostheti ena stoixeio stin lista. void freeMemory (nodeptr *sptr); // Sinartisi pou svinei tin lista kai apeleytheronei tin mnimi pou xriastike. void deletesame (nodeptr *sptr); // Sinartisi pou svinei ta idia stoixeia pou iparxoun stin lista. char elegxos(char *choice); // Sinartisi gia ton elegxo egkirotitas tis epilogis. char epilogi; // Metavliti gia apothikeysei tis epilogis tou xristi. char choice[2]={'0','\0'}; // Dilosi pinaka pou tha apothikeyei ta 2 prota psifia apo tin simvoloseira pou tha dinei o xristis. int item; // Diloseis metavliton. int main (int argc, char *argv[]) { nodeptr startptr = NULL; // Diktis pou tha dixnei stin arxi tis listas. menuepilogon (); printf ("Doste tin epilogi sas:"); scanf ("%2s",choice); // Apothikeysi sto string mono ta 2 prota psifia apo ayto pou tha pliktrologisi o xristis. fflush(stdin); epilogi=elegxos(choice); while (epilogi != '4'){ // Ean dothei i epilogi 4 ginete eksodos apo to programma. // Analoga me tin epilogi ektelite kai i katalili diadikasia. switch (epilogi){ case '0': // Epilogi 0: Emfanisi tou menou epilogon. menuepilogon (); break; case '1': // Epilogi 1: Diavasma tou stoixeiou kai prosthiki stin lista me tin voitheia tis sinartisis insert. printf ("Dose ena stoixeio gia tin lista:"); while (scanf ("%d",&item)){ insert (&startptr, item); } while (char ch=getchar()!='\n'); break; case '2':// Epilogi 2: Emfanisi tis listas. printlist (startptr); break; case '3': // Epilogi 3: Diagrafi ton idion stoixeion tis listas kai emfanisei tis ananeomenis listas. deletesame (&startptr); printlist(startptr); break; } // Diavasma tis epomenis epilogis. printf ("\nDoste san epilogi to 0 gia na emfanistei o katalagos me tis epiloges sas."); printf ("\nDoste tin epilogi sas:"); scanf ("%2s",choice); fflush(stdin); epilogi=elegxos(choice); } freeMemory (&startptr); // Apeleytherosi tis desmeymenis mnimis return 0; } void menuepilogon() { printf ("\nPliktrologiste:\n"); printf ("1 : Ean thelete na prosthesete ena neo stoixeio stin lista."); printf ("\n2 : Ean thelete na ektiposete tin idi iparxousa lista."); printf ("\n3 : Ean thelete na diagrafoun ta idia stoixeia tis listas."); printf ("\n4 : Ean thelete na ginei eksodos apo to programma.\n"); } void printlist (nodeptr currentptr) // Xrisomopoihsh tis currentptr os enos prosorinou dikti gia tn prospelasi tis listas dixnontas arxika stin arxi tis listas. { if (currentptr == NULL ){ // Sinthiki pou eksetazei ean i lista einai keni. printf ("H lista den periexei kanena stoixeio.\n"); } /* Ean dn einai keni emfanizei ola ta stoixeia tis listas me tin voitheia tis currentptr pou afou emfanisei ena stoixeio dixnei ton epomeno komvo.*/ else{ printf ("\nH lista einai i eksis:\n"); while (currentptr != NULL){ printf ("%d -->",currentptr->data); currentptr=currentptr->next; } printf ("Telos tis listas.\n"); } } void insert (nodeptr *sptr,int value) { nodeptr newptr,previousptr,currentptr; // Dilosi dikton pou tha xriastoun gia na prostethei to stoixeio stin sosti thesi. newptr = (node *)malloc( sizeof (node)); // Dinamiki katanomi mnimis pou tha xriastei gia tin dimiourgia neou komvou stin lista. if (newptr!=NULL){ // Sinthiki pou dilonei ean egine epitiximena i desmeysi mnimis. newptr->data=value; // Prosthiki tou neou stoixeiou ston kainourgio komvo; newptr->next=NULL; /* Deiktes gia tin eyresi tin sosti thesi pou prepei na mpei o komvos */ previousptr = NULL; currentptr = *sptr; /* Arxi epanalipsis gia na vroume tin sosti thesi pou prepei na mpei o komvos */ while (currentptr != NULL && value>=currentptr->data){ previousptr = currentptr; currentptr = currentptr->next; } /* Ean o previousptr = NULL tote to stoixeio pou periexei o komvos einai to mikrotero se timi kai prepei na mpei stin arxi tis listas */ if (previousptr == NULL){ newptr->next = *sptr; *sptr=newptr; } // Allios tha mpei anamesa ston previousptr kai ston currenptr else{ previousptr->next=newptr; newptr->next=currentptr; } } // Minima se periptosi apotiximenis prospatheias desmeysi mnimis. else { printf ("\nDen yparxei diathesimi mnimi gia eisagogi allou stoixeiou stin lista."); } } void freeMemory (nodeptr *sptr) { nodeptr tempptr; // Prosorinos diktis komvou. while (*sptr != NULL){ tempptr = *sptr; // Parameni ston komvo pou aferite. *sptr = (*sptr)->next; // Katargei ta nimata tou komvou. free (tempptr); // Apeleytherosi tou xoris nimata komvou. } } void deletesame (nodeptr *sptr) { nodeptr nextptr, currentptr; // Dilosi dikton pou tha xriastoun. if(*sptr==NULL) {return;} // Termatise tin sinartisi ean den iparxoun stoixeia se aytin. currentptr = *sptr; // Diktis pou dixnei ston trexonta komvo. nextptr = currentptr->next;// Diktis pou dixnei ston epomeno komvo. while(nextptr != NULL) { // Otan o nextptr tha einai NULL o currenptr tha einai sto teleytaio komvo tis listas. if (currentptr->data == nextptr->data) { // Ean o trexontas kai o epomenos komvos exoun idia stoixeia... currentptr->next = nextptr->next; // Enose ta nimata tou epomenou komvou me tin paraepomeno... free(nextptr); // Svise ton, xoris nimata, epomeno komvo. nextptr = currentptr->next; // O nextptr dixnei ston epomeno komvo pou dixnei o currentptr. } /* Ean den exoun idia stoixeia proxorame stous 2 epomenous komvous.*/ else { currentptr = nextptr; nextptr = currentptr->next; } } } char elegxos(char *choice) { char epilogi; epilogi=choice[0]; /* Den mpainei stin epanalipsi ean oi epiloges einai 0,1,2,3 h 4 */ while ((choice[0]!='0' || choice[1]!='\0') && (choice[0]!='1' || choice[1]!='\0') && (choice[0]!='2' || choice[1]!='\0') && (choice[0] !='3' || choice[1]!='\0') && (choice[0] !='4' || choice[1]!='\0')){ /* Emfanisi minima lathous gia lathos epilogi */ printf ("\nLathos epilogi!"); printf ("\nDoste san epilogi to 0 gia na emfanistei o katalagos me tis epiloges sas."); printf ("\nDoste tin epilogi sas:"); /* Eisagogi se ena string ta 2 prota psifia apo tin epilogi pou edose o xristis gia na elexoume ean einai diaforetika apo tis epiloges pou prepei na dosei o xristis */ scanf ("%2s",choice); fflush(stdin); epilogi=choice[0]; } /* Otan dothei egkiri epilogi tha epistrefetai sto kirios programma gia na sinexisei na ekteletai. */ return epilogi; } έτοιμο Ωραίος... Δούλεψε... Θα κάτσω να μελετήσω τώρα τι ακριβώ έκανες... Ευχαριστώ πολύ...
migf1 Δημοσ. 24 Φεβρουαρίου 2012 Δημοσ. 24 Φεβρουαρίου 2012 Α) Εάν είναι για C και σε Windows προτείνω LCC. Πάει και τελείωσε, είσαι RESPECT αρχηγέ μου. Όχι μόνο συμφωνώ κι επαυξάνω, αλλά προτρέπω κιόλας όλους τους ενδιαφερόμενους να διαβάσουν το Advanced Programming with lcc-win32 . Παρεμπιπτόντως, η Pelles-C είναι fork της LCC Αυτοί οι 2 compilers είναι πραγματικά ότι καλύτερο διατίθεται δωρεάν για C στην πλατφόρμα των Windows, εννοώντας πως είναι βελτιστοποιημένοι για τη συγκεκριμένη πλατφόρμα. Ωραίος... Δούλεψε... Θα κάτσω να μελετήσω τώρα τι ακριβώ έκανες... Ευχαριστώ πολύ... Αυτό που σου εξήγησε μερικά πόστς πριν έκανε, έφτιαξε μια custom & portable εκδοχή του fflush(stdin) για να διαχειριστεί το Line Buffering... > while (char ch=getchar()!='\n'); btw η ανάθεση δεν χρειάζεται. ΥΓ. @imitheos: από προσωπική εμπειρία, το fflush(stdin) δεν δουλεύει ούτε σε Ubuntu ούτε σε FreeBSD.
iPantelis Δημοσ. 24 Φεβρουαρίου 2012 Μέλος Δημοσ. 24 Φεβρουαρίου 2012 Πάει και τελείωσε, είσαι RESPECT αρχηγέ μου. Όχι μόνο συμφωνώ κι επαυξάνω, αλλά προτρέπω κιόλας όλους τους ενδιαφερόμενους να διαβάσουν το Advanced Programming with lcc-win32 . Παρεμπιπτόντως, η Pelles-C είναι fork της LCC Αυτοί οι 2 compilers είναι πραγματικά ότι καλύτερο διατίθεται δωρεάν για C στην πλατφόρμα των Windows, εννοώντας πως είναι βελτιστοποιημένοι για τη συγκεκριμένη πλατφόρμα. Αυτό που σου εξήγησε μερικά πόστς πριν έκανε, έφτιαξε μια custom & portable εκδοχή του fflush(stdin) για να διαχειριστεί το Line Buffering... > while (char ch=getchar()!='\n'); btw η ανάθεση δεν χρειάζεται. ΥΓ. @imitheos: από προσωπική εμπειρία, το fflush(stdin) δεν δουλεύει ούτε σε Ubuntu ούτε σε FreeBSD. Δεν ξέρω πολλά για το fflush(stdin) αυτή την συνάρτηση μας είπε ο καθηγητής να την χρησιμοποιήσουμε στην πρώτη άσκηση που μας έβαλε και την χρησιμοποίησα και εγώ... Κατάλαβα την λογική... Ευχαριστώ όλους σας...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα