[ svoo @ 23.03.2005. 16:58 ] @
Ovaj program bi treabao da ucitava odredjen broj stringova, smjesta na heap te prebrojava koliko puta je svaki od strignva unesen. Uspio sam da ga kompajliram i pokrenem ali cim pocjem nesto unositi on javlja gresku, nesto kao: "The instruction at "0x7802.." referenced memory at "0x....". The memory could not be "written"l kod je slijedeci: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> typedef struct Lista{ char* element; Lista* next; int br; }Lista_Rijeci; void ucitaj_NizRijeci(Lista_Rijeci*); void ispisi_NizRijeci(Lista_Rijeci*); void insert(char*,Lista_Rijeci*);//Pomocna Funkcija typedef Lista_Rijeci* point; main() { Lista_Rijeci* Prvi=0; ; ucitaj_NizRijeci(Prvi); getchar(); } void insert(char* str,Lista_Rijeci*pok){ int pom=0; if(!pok){pok==(point)malloc(sizeof(Lista_Rijeci)); strcpy(pok->element,str); pok->br=1; pok->next=0; } while(pok!=0) { if(!strcmp(str,pok->element)) { pok->br++; pom=1; } if(pom)break; else pok=pok->next; } if(pom){ pok->next=(point)malloc(sizeof(Lista_Rijeci)); strcpy(pok->next->element,str); pok->br=1; pok->next->next=0; } } void ucitaj_NizRijeci(Lista_Rijeci* pok){ char* pomocni; do { gets(pomocni); insert(pomocni,pok); if(!strcmp(pomocni,"0"))break; } while(pomocni[0]); } void ispisi_NizRijeci(Lista_Rijeci*pok){ while(pok!='\0') { puts(pok->element); printf(" %d",pok->br); printf("\n"); pok=pok->next; } } Unaprijed hvala na pomoci. |