Szerző Téma: Magánhangzók száma egy mondatban? Hogy?  (Megtekintve 858 alkalommal)

Nem elérhető Wiliam Levy

  • 594
  • Wiliam Levy
    • Profil megtekintése
Magánhangzók száma egy mondatban? Hogy?
« Dátum: 2014. szeptember 13. - 15:11:45 »
0 Show voters
Üdv. A kérdés adott:
Mi a legegyszerûbb megoldás arra, hogy lekérjem egy mondatban a magánhangzók számát?
Bonyolult megoldásokat én is találtam már rá, de biztos van egyszerûbb mód is rá mint amit én kigondoltam.
Válaszokat elõre is köszönöm.
« Utoljára szerkesztve: 2014. szeptember 13. - 15:12:06 írta Flash »

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Magánhangzók száma egy mondatban? Hogy?
« Válasz #1 Dátum: 2014. szeptember 13. - 15:39:21 »
0 Show voters
new MaganHangzok[][]  = {\"a\", \"á\", \"e\", \"é\", \"i\", \"í\", \"o\", \"ó\", \"ö\", \"õ\", \"u\", \"ú\", \"ü\", \"û\"};
 
stock Maganhangzok(str[])
{
     for(new i=0; i != sizeof(MaganHangzok[]); i++)
     {
           if(strfind(str, MaganHangzok, true) != -1)
           {
                printf(\"Talált magánhangzó: %s\",MaganHangzok);
           }
     }
}

 
Nem teszteltem, de ebbõl szerintem el tudsz indulni.

Nem elérhető Wiliam Levy

  • 594
  • Wiliam Levy
    • Profil megtekintése
Magánhangzók száma egy mondatban? Hogy?
« Válasz #2 Dátum: 2014. szeptember 13. - 15:44:23 »
0 Show voters
Idézetet írta: BackUP date=1410615561\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50598\" data-ipsquote-contentclass=\"forums_Topic

new MaganHangzok[][]  = {\"a\", \"á\", \"e\", \"é\", \"i\", \"í\", \"o\", \"ó\", \"ö\", \"õ\", \"u\", \"ú\", \"ü\", \"û\"};
 
stock Maganhangzok(str[])
{
     for(new i=0; i != sizeof(MaganHangzok[]); i++)
     {
           if(strfind(str, MaganHangzok, true) != -1)
           {
                printf(\"Talált magánhangzó: %s\",MaganHangzok);
           }
     }
}

 
Nem teszteltem, de ebbõl szerintem el tudsz indulni.
 
Õõõ ez már ránézésre se jó, mert ez csak azt ellenõrzi, hogy az adott mondatban van-e magánhangzó, és ha van, kiírja az elsõt amit talált.
Nekem az kéne, hogy hány darab magánhangzó van az adott mondatban.

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Magánhangzók száma egy mondatban? Hogy?
« Válasz #3 Dátum: 2014. szeptember 13. - 15:49:05 »
0 Show voters
Nem, nem csak az elsõt írja ki, hanem sorba az összeset.
Ez viszont kiírja darabszámban:
 

    new MaganHangzok[][]  = {\"a\", \"á\", \"e\", \"é\", \"i\", \"í\", \"o\", \"ó\", \"ö\", \"õ\", \"u\", \"ú\", \"ü\", \"û\"};
     
     
    stock Maganhangzok(str[])
    {
         new szama;
         for(new i=0; i != sizeof(MaganHangzok[]); i++)
         {
               if(strfind(str, MaganHangzok, true) != -1)
               {
                    szama++;
               }
         }
         return szama;
    }

Nem elérhető Wiliam Levy

  • 594
  • Wiliam Levy
    • Profil megtekintése
Magánhangzók száma egy mondatban? Hogy?
« Válasz #4 Dátum: 2014. szeptember 13. - 16:26:40 »
0 Show voters
Idézetet írta: BackUP date=1410616145\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50598\" data-ipsquote-contentclass=\"forums_Topic
Nem, nem csak az elsõt írja ki, hanem sorba az összeset.
Ez viszont kiírja darabszámban:
 

    new MaganHangzok[][]  = {\"a\", \"á\", \"e\", \"é\", \"i\", \"í\", \"o\", \"ó\", \"ö\", \"õ\", \"u\", \"ú\", \"ü\", \"û\"};
     
     
    stock Maganhangzok(str[])
    {
         new szama;
         for(new i=0; i != sizeof(MaganHangzok[]); i++)
         {
               if(strfind(str, MaganHangzok, true) != -1)
               {
                    szama++;
               }
         }
         return szama;
    }

 

Nem, ez sem jó.
\"32gewffpart0f3ola10o.png\"

Nem elérhető rayle

  • 174
    • Profil megtekintése
Magánhangzók száma egy mondatban? Hogy?
« Válasz #5 Dátum: 2014. szeptember 13. - 16:48:19 »
0 Show voters
new MaganHangzok[]  = {\"a\", \"á\", \"e\", \"é\", \"i\", \"í\", \"o\", \"ó\", \"ö\", \"õ\", \"u\", \"ú\", \"ü\", \"û\"};
 
stock Maganhangzok(str[])
{
    new szama;
    for(new x = 0; x < strlen(str); x++)
    {
        for(new i = 0; i < sizeof(MaganHangzok); i++)
        {
            if(str
  • == MaganHangzok)

            {
                szama++;
            }
        }
    }
    printf(\"Szöveg: %s | Magánhangzók: %d\", str, szama);
    return szama;
}

 
Teszteltem, nekem mûködött:
 
[16:47:40] Szöveg: Teszt szöveg | Magánhangzók: 3
[16:47:40] Szöveg: Második teszt szöveg | Magánhangzók: 6

 
[mod]Javítottam helyetted a

taget

tagre![/mod]
« Utoljára szerkesztve: 2014. szeptember 13. - 17:28:19 írta Dfoglalo »

Nem elérhető Wiliam Levy

  • 594
  • Wiliam Levy
    • Profil megtekintése
Magánhangzók száma egy mondatban? Hogy?
« Válasz #6 Dátum: 2014. szeptember 13. - 17:04:28 »
0 Show voters
Idézetet írta: rayle date=1410619699\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50598\" data-ipsquote-contentclass=\"forums_Topic

new MaganHangzok[]  = {\"a\", \"á\", \"e\", \"é\", \"i\", \"í\", \"o\", \"ó\", \"ö\", \"õ\", \"u\", \"ú\", \"ü\", \"û\"};
 
stock Maganhangzok(str[])
{
    new szama;
    for(new x = 0; x < strlen(str); x++)
    {
        for(new i = 0; i < sizeof(MaganHangzok); i++)
        {
            if(str
  • == MaganHangzok)

            {
                szama++;
            }
        }
    }
    printf(\"Szöveg: %s | Magánhangzók: %d\", str, szama);
    return szama;
}

 
Teszteltem, nekem mûködött:
 
[16:47:40] Szöveg: Teszt szöveg | Magánhangzók: 3
[16:47:40] Szöveg: Második teszt szöveg | Magánhangzók: 6

 
[mod]Javítottam helyetted a

taget

tagre![/mod]
 
Igen, most hogy áttettem PUBLIC-ba, így már jó, STOCKként nem, mert az olyan mintha oda írnám be a cuccot ahol szeretném lekérni a mh-k számát, és ez nem túl elõnyös..
« Utoljára szerkesztve: 2014. szeptember 13. - 17:28:31 írta Dfoglalo »

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Magánhangzók száma egy mondatban? Hogy?
« Válasz #7 Dátum: 2014. szeptember 13. - 17:11:07 »
0 Show voters
Mármint erre gondolsz?
 
format(valami, méret, \"%s\", Maganhangzok(valami));

 
Ennek annyi a megoldása, hogy magát a return részt a stockból kiveszed.
[mod]Kitettem helyetted a

taget![/mod]
« Utoljára szerkesztve: 2014. szeptember 13. - 17:27:38 írta Dfoglalo »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal