joey1988 Posted Január 20, 2007 Share Posted Január 20, 2007 Az egyetemen ennek nagyon nagy hasznát vesszük programozás 1-ből, példa függvények, és használatuk. Sok sikert hozzá! /* Ezt magam segítségére csináltam, de használjátok egészséggel mert előfordulhatnak ezek és akkor legalább nem kell velük szarakodni, hanem elég csak kimásolni. SteMa */ #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> int i,o; /* Szokásos getline, amit a lapon csak "szabvánbemenetként" említenek, de nem tudni miért */ int getline(char s[],int lim) { int c,i; for(i=0;i<lim&&(c=getchar())!=EOF&&c!='\n';++i)s[i]=c; s[i]='\'; while(c!=EOF&&c!='\n')c=getchar(); return(i); } /* Visszaadja hány szó van az "s" sztringben, függetlenül attól, hány szóköz sorváltás vagy tab válaszja el azokat */ int szsz(char s[]) { int szavak=0,benn=0; for(i=0;i<strlen(s);i++) { switch(s[i]) { case ' ': case '\n': case '\t': {benn=0; break;} default: if(benn==0) {benn=1; szavak++;} } } return szavak; } /* Megadsz egy bemenet sztringet "si" és a kimenetbe "so", az adott sorszámú szót rakja az első stringből. For ciklussal az szsz-el kombinálva végig lehet haladni a szavakon így. */ void szo(char si[],char so[],int num) { int szavak=0,benn=0,kezd; for(i=0;i<strlen(si);i++) { switch(si[i]) { case ' ': case '\n': case '\t': {benn=0; break;} default: if(benn==0) { benn=1; szavak++; if(szavak==num) { kezd=i; do {so[i-kezd]=si[i];i++;} while(si[i]!=' '&&si[i]!='\t'&&si[i]!='\n'); } } } } } /* karakter kisbetüssé alakítása, ékezetes karaktereké is hogy sztringet alakíts át azon végig kell haladni: for(i=0;i<strlen(sztring);i++) sztring[i]=lower(sztring[i]) */ int lower(int c) { if(c>='A'&&c<='Z') return(c+('a'-'A')); else switch(c) { case'™':return '”';break; case'š':return '�';break; case'ŕ':return '˘';break; case'Š':return '‹';break; case'é':return 'Ł';break; case'�':return '‚';break; case'µ':return ' ';break; case'ë':return 'ű';break; case'Ö':return 'ˇ';break; default: return(c); } } /* karakter nagybetüssé alakítása, ékezetes karaktereké is hogy sztringet alakíts át azon végig kell haladni: for(i=0;i<strlen(sztring);i++) sztring[i]=upper(sztring[i]) */ int upper(int c) { if(c>='a'&&c<='z') return(c-('a'-'A')); else switch(c) { case'”':return '™';break; case'�':return 'š';break; case'˘':return 'ŕ';break; case'‹':return 'Š';break; case'Ł':return 'é';break; case'‚':return '�';break; case' ':return 'µ';break; case'ű':return 'ë';break; case'ˇ':return 'Ö';break; default: return(c); } } /* megnézi, hogy "s" sztringben van-e "c" karakter, 1-et ad vissza ha van, 0-t ha nincs */ int olyan(char c, char s[]) { for(i=0;i<strlen(s);i++) if(c==s[i]) return 1; return 0; } /* egy kis próba a dolgokra */ void main(void) { char str[128],str2[128]; getline(str,127); printf("szavak száma: %d\n",szsz(str)); szo(str,str2,2); for(i=0;i<strlen(str2);i++) str2[i]=upper(str2[i]); printf("%s\n",str2); /* megnézi, hogy abban, hogy "va.le" van-e pont, naná, hogy 1-el tér vissza */ printf("%d",olyan('.',"va.le")); } Idézés Link to comment Share on other sites More sharing options...
seekoly Posted Január 21, 2007 Share Posted Január 21, 2007 nekem is van egy pár kisebb munkám, ha érdekel vkit, akkor itt megtekintheti: http://std.extra.hu/dolgok/index.php?dirpath=./C&order=0 (nagyrészt ANSI C-ben vannak megírva) Idézés Link to comment Share on other sites More sharing options...
mind2 Posted Június 25, 2007 Share Posted Június 25, 2007 printf("kössz!"); Idézés Link to comment Share on other sites More sharing options...
GodMother Posted Július 18, 2007 Share Posted Július 18, 2007 joey1988 nem gondoltam h Bauer tanárúr getline fvvel itt fogok újra találkozni. LOL Idézés Link to comment Share on other sites More sharing options...
TreeplaX Posted Július 25, 2007 Share Posted Július 25, 2007 Anno elsős Kandós kiscsikó koromban ilyen kis gyerekjátékokat gyártottam... gyakorlásnak jó volt. Ha valakit érdekel töltse le nyugodtan: törölve Idézés Link to comment Share on other sites More sharing options...
szilard5 Posted Február 17, 2009 Share Posted Február 17, 2009 én most töltöm, kiváncsi vagyok Idézés Link to comment Share on other sites More sharing options...
darthvader Posted November 17, 2010 Share Posted November 17, 2010 Szólánc játék forráskódjára lenne szükségem Cben valaki esetleg tudna ebben segíteni, hogy kell egy ilyet megkódolni? Idézés Link to comment Share on other sites More sharing options...
Ry4n Posted Március 1, 2011 Share Posted Március 1, 2011 Mármint mire gondolsz?Megadsz szavakat, és a következő szónak az utolsó szó utolsó karakterével kell kezdődnie? Idézés Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.