

C polia funkcie
Ahoj, chcel by som sa spytat ze ci sa neda porovnavat znak z polom nejako jednoduchsie cize nie cez for a porovnavat znak z kazdym miestom v poli postupne ale ci je na to aj nejaka funkcia.
Ked nieje ako mam spravit triedenie ked mam 2polia a vo fore ich porovnavam zo znakom ci tam patri. Neviem spravit ze ked tam nepatri ani do jednoho pola znak tak pojde do tretieho pola.
while((znak=getc(fr))!=EOF)
{
for(i=0;i<7;i++)
{
if(znak==samohlasky[i])
{
fprintf(fw1,"%c",znak);
break;
}
if(znak==spoluhlasky[i])
{
fprintf(fw2,"%c",znak);
break;
}
}
}
else tam dat nemozem lebo keby nahodou ten znak nebol rovny iba z miestom prvym z poli uz by isiel do else ale ja chcem najskor vyhodnotit vsetky miesta v poliach.
potrebujes hlavickovy subor string.h a pouzit funkciu strncmp.
http://www.wikihow.com/Compare-Two-Strings-in-C-Pr ogramming
to znamena ze musim tie chary dat najskor do pola ze?
len teraz kukam na ten kod co si sem pastol a asi chces urobit nieco celkom ine, len nejak nechapem co :D
No vlaste to je praca zo subormi mam subor do ktoreho dam hocijake znaky a v dvoch poliach mam definovane samohlasky a spoluhlasky pole ma velkost 7 lebo to iba skusam ja tam dalsie dam neskor :D postupujem postupne po subore a ked sa znak zo suboru rovna nejakemu znaku v poliach tak ich da do suborov samohlasky alebo spoluhlasky. Ale ked znak nepatri ani do jednoho chcem spravit subor ine a tam vsetky ostatne znaky dat no a tam je kamen urazu :)
pridas si string.h do include
a prerobis to nejak takto:
Dakujem rozmislal som nad takymto prepinacom ale nevedel som ako presne :) :D Asi sa nedokazem este poriadne sustredit lebo mam problemy zo SoCkou atd. :D dakujem ti moc
aby som to popisal ... mas 2 cykly. Jeden cez pole spoluhlasok a jeden cez pole samohlasok.
Ked sa najde v jednom poli, tak nastavi premennu naslo na 1 a vyskoci z cykluc for. Hned za tym je zistovanie, ci je premenna naslo rovna 1. ak ano ide prikaz continue, ktory prejde na dalsi znak zo suboru.
na konci je este fprintf(fw3, "%c", znak); co zapise znak do nejakeho tretieho suboru pokial nejde ani o samohlasku ani o spoluhlasku.
Druhá možnosť: Spravíš si pole char[256], v ktorom budeš mať na pozícii každého znaku uložené, či je to samohláska (=1) alebo spoluhláska (=2) alebo niečo iné (=0). To pole na začiatku vynuluješ a inicializuješ dvoma cyklami. Potom pri zisťovaní typu znaku už nebudeš potrebovať žiadne cykly, iba sa pozrieš na prislúchajúcu pozíciu znaku.