Potrebujem spravit nieco take, ze mam pole, v ktorom su slova a potrebujem vypisat napr. slova, ktore su od urciteho pismena po druhe urcite
Napr. mam pole slov ["januar", "februar", "marec", "april", "maj", "jun", "jul"] a chcem vypisat slova ktorych prve pismeno je v rozsahu J - M, takze vypisu sa len: januar, jun, jul, marec, maj
.. ako by sa to dalo spravit ?
[C] vypis slov podla zaciatocneho pismena
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: [C] vypis slov podla zaciatocneho pismena
Kód: Vybrať všetko
char **slova = {"januar", "februar", "marec", "april", "maj", "jun", "jul"}; //tu je mozno chyba nepametam si syntax
int count = 7; //pocet slov
int i;
for(i = 0;i<count;i++)
{
char firstLetter = slova[i][0];
if(firstLetter >='j' && firstLetter <='m')
{
printf("%s\n",slova[i]);
}
}
Re: [C] vypis slov podla zaciatocneho pismena
harrison to napísal už v kóde, ale ja len logiku veci: Ak by si mal pole čísel {1,5,4,2,7,4,7,8,5,5,7,3}, vedel by si vypísať čísla medzi 4 a 7? Podľa mňa určite áno, podmienku a cyklus poznáš. S tými reťazcami to je úplne rovnaké, pretože sa na každý reťazec v poli pozeráš ako na číslo = prvé písmeno v reťazci, ktoré je reprezentované ASCII hodnotou, tzn. číslom.
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: [C] vypis slov podla zaciatocneho pismena
Blbne mi na tapatalku code tag, takže nevidím presne čo napísal Harrison, len doplním že fakt chary sú čísla, takže jednoduché porovnanie slovo[0]. Len sa zamysli či to treba case sensitive.
Inak teoreticky (a v princípe hlavne mimo C) by sa to dalo regex matchom ^[j-mJ-M].* ale zožerie to zbytočne veľa času v exekúcii
Inak teoreticky (a v princípe hlavne mimo C) by sa to dalo regex matchom ^[j-mJ-M].* ale zožerie to zbytočne veľa času v exekúcii