kenderendre Posted November 6, 2008 Share Posted November 6, 2008 Üdv! a következő lenne a feldatom: 9. Olvassunk be egy maximum 70 karakter hosszú szöveget és számoljuk meg hányszor fordul elő, hogy magánhangzók követik egymást. Nyomtassuk ki ezt a számot. (Nincs olyan függvény a standard könyvtárban, mely azonosítja a magánhangzókat vagy mássalhangzókat.) ezt a progit írtam rá, de nem műxik és nem tudom mi lehet a hiba: #include <stdio.h> #include <string.h> int main() { char sz[71]; int n,i,j,szamlalo; szamlalo=0; printf("Irjon be egy maximum 70 karakterbol allo szoveget: \n"); fgets(sz,70,stdin); n=strlen(sz)-1; for(i=0,j=1;i<(n-1),j<n;i++,j++) { if((sz[i])=='a'||'e'||'i'||'o'||'u'&&(sz[j])=='a'||'e'||'i'||'o'||'u') szamlalo++; } printf("A szovegben %d-szor kovetik egymast maganhangzok",szamlalo); return 0; } Előre is kösz a segítséget! Idézés Link to comment Share on other sites More sharing options...
Pörköltszaft Posted November 6, 2008 Share Posted November 6, 2008 A te kódodból kiindulva átírtam a for ciklust meg az if-et: int main() { char sz[71]; int i,szamlalo; szamlalo=0; printf("Irjon be egy maximum 70 karakterbol allo szoveget: \n"); fgets(sz,70,stdin); for (i=0; i<=strlen(sz)-2; i++) { if (((sz[i] == 'a') || (sz[i] == 'e') || (sz[i] == 'i') || (sz[i] == 'o')) && ((sz[i+1] == 'a') || (sz[i+1] == 'e') || (sz[i+1] == 'i') || (sz[i+1] == 'o'))) szamlalo++; } printf("A szovegben %d-szor kovetik egymast maganhangzok",szamlalo); return 0; } Igy működik - már ha nem kell a space-eket kiszűrni pl: "ora a falon" Erre azt fogja írni hogy 0x követik egymást, de ha csinálsz szóközszűrészt akkor már "oraafalon", és lesz egy találat. Idézés Link to comment Share on other sites More sharing options...
kenderendre Posted November 6, 2008 Author Share Posted November 6, 2008 ezek szerint az if volt rosszul megfogalmazva Kösz a segítséget! 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.