Ładny brzuch
Musze zrobic tzw. statystyke tekstu, czyli poddliczyc ile razy w tekscie zostala uzyta dana literka.
No i wczytuje plik do Memo. Pozniej pisze:
char znak;
int tab[255];
for (int k=0;k<255;k++)
{
tab[k]=0;
}
for (int i=0; i<Memo1->Lines->Count; i++)
{
for (int j=1;j<=Form1->Memo1->Lines[0][i].Length();j++)
{
znak=Form1->Memo1->Lines[0][i][j];
tab[znak]++;
}
}
No i program dziala, tyle ze niedokladnie tak jak powinien. Otoz ladnie mi liczy wszystkie cyferki, male i duze litery, ale jak napotka na polski znak, znaczy jakies ,,, etc to go po prostu omija i podaje, ze np. literek w tekscie nie ma, chociaz jest ich b.duzo. Ktos wie czemu to nie dziala i jak to poprawic?
Moeb to by problem z kodowaniem, sprawd jak zakodowany jest tekst, ktry sprawdzasz (Windows-1250 albo ISO-8859-2), poniewa polskie znaki maj w nich rne kody ASCII.
Moesz te sprbowa wczyta plik w inny sposb, uywajc biblioteki fstream.h oraz funkcji ifstream plik(nazwa_pliku) i plik.get(). Jak podasz maila, to mog wysa ci program robicy statystyk tekstu (wyrazy, zdania itp.) korzystajcy z tych wanie funkcji.
Pozdrawiam i zapraszam na *** www.windowsik.prv.pl ***
Moze sprobuj zmieni wlasciwosc Font->Charset na EASTEUROPE_CHARSET.
Pozdrawiam,
mg ..................................... gawron17@wp.pl ... http://www.compzone.up.pl/ ... GG:6500275
W standardzie polskich liter raczej nie tkwi przyczyna tej sytuacji np. litera "" ma w ISO-8859-2 kod 161 a Windows-1250 kod 165, a mi program podaje, ze wartosc zarowno tab[161]=0 jak i tab[165]=0 mimo, ze w pliku wystepuje duza ilosc liter "".
Moj mail to patryk1909@interia.pl bede wdzieczny jesli przeslesz mi swoj program.
Nadal tez czekam na pomoc odnosnie przedstawionego przeze mnie problemu to dla mnie bardzo wazne.
cytat:mg napisa:
Moze sprobuj zmieni wlasciwosc Font->Charset na EASTEUROPE_CHARSET.
Pozdrawiam,
mg ..................................... gawron17@wp.pl ... http://www.compzone.up.pl/ ... GG:6500275
Zmienilem, ale nie pomoglo :(
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
No i wczytuje plik do Memo. Pozniej pisze:
char znak;
int tab[255];
for (int k=0;k<255;k++)
{
tab[k]=0;
}
for (int i=0; i<Memo1->Lines->Count; i++)
{
for (int j=1;j<=Form1->Memo1->Lines[0][i].Length();j++)
{
znak=Form1->Memo1->Lines[0][i][j];
tab[znak]++;
}
}
No i program dziala, tyle ze niedokladnie tak jak powinien. Otoz ladnie mi liczy wszystkie cyferki, male i duze litery, ale jak napotka na polski znak, znaczy jakies ,,, etc to go po prostu omija i podaje, ze np. literek w tekscie nie ma, chociaz jest ich b.duzo. Ktos wie czemu to nie dziala i jak to poprawic?
Moeb to by problem z kodowaniem, sprawd jak zakodowany jest tekst, ktry sprawdzasz (Windows-1250 albo ISO-8859-2), poniewa polskie znaki maj w nich rne kody ASCII.
Moesz te sprbowa wczyta plik w inny sposb, uywajc biblioteki fstream.h oraz funkcji ifstream plik(nazwa_pliku) i plik.get(). Jak podasz maila, to mog wysa ci program robicy statystyk tekstu (wyrazy, zdania itp.) korzystajcy z tych wanie funkcji.
Pozdrawiam i zapraszam na *** www.windowsik.prv.pl ***
Moze sprobuj zmieni wlasciwosc Font->Charset na EASTEUROPE_CHARSET.
Pozdrawiam,
mg ..................................... gawron17@wp.pl ... http://www.compzone.up.pl/ ... GG:6500275
W standardzie polskich liter raczej nie tkwi przyczyna tej sytuacji np. litera "" ma w ISO-8859-2 kod 161 a Windows-1250 kod 165, a mi program podaje, ze wartosc zarowno tab[161]=0 jak i tab[165]=0 mimo, ze w pliku wystepuje duza ilosc liter "".
Moj mail to patryk1909@interia.pl bede wdzieczny jesli przeslesz mi swoj program.
Nadal tez czekam na pomoc odnosnie przedstawionego przeze mnie problemu to dla mnie bardzo wazne.
cytat:mg napisa:
Moze sprobuj zmieni wlasciwosc Font->Charset na EASTEUROPE_CHARSET.
Pozdrawiam,
mg ..................................... gawron17@wp.pl ... http://www.compzone.up.pl/ ... GG:6500275
Zmienilem, ale nie pomoglo :(