Ĺadny brzuch
Witam! Jestem początkujący w programowaniu w Pascalu i usiłuję napisać program do zliczania spółgłosek w podanym tekście. No i choćbym wpisał samo 'a' to mi wyskakuje jedna spółgłoska! Jak wpisze 'bbb' to mi pokazuje już 3 spółgłoski. Jak to poprawić??
uses crt; var tekst:string; id:longint; dlugosc:longint; ilosc:longint; label kotwica; begin clrscr; kotwica: writeln('Napisz jakiś tekst'); readln(tekst); dlugosc:=length(tekst); id:=0; ilosc:=0; repeat if (tekst[id]='a') or (tekst[id]='e') or(tekst[id]='y') or(tekst[id]='u') or(tekst[id]='i') or(tekst[id]='o') or(tekst[id]='ó') or(tekst[id]='ą') or (tekst[id]='ę') or (tekst[id]='A') or (tekst[id]='E') or(tekst[id]='Y') or(tekst[id]='U') or(tekst[id]='I') or(tekst[id]='O') or(tekst[id]='Ó') or(tekst[id]='Ą') or (tekst[id]='Ę') then ilosc:=ilosc else ilosc:=ilosc+1; id:=id+1; until id=dlugosc; writeln; writeln('W podanym tekście występuje ',ilosc,' spółgłosek'); goto kotwica; end.
może w niektórych miejscach kod wydaje się dziwny, więc jeżeli macie do tego poprawki to koniecznie piszcie!
uses crt; var s:string; i, j:byte; begin clrscr; write('Wpisz wyraz: '); readln(s); if s<>'' then begin j:=length(s); for i:=1 to length(s) do if s[i] in ['A','a','¤','Ą','E','e','¨','© ','I','i','O','o','Ĺ','Ë','U','u' ,'Y','y'] then dec(j); writeln('Liczba spolglosek: ',j); end; readkey; end.poza tym było już raz :P http://forum.ks-eksp...showtopic=67232
Na czym polega ta instrukcja?
if s[i] in ['A','a','¤','Ą','E','e','¨','© ','I','i','O','o','Ĺ','Ë','U','u' ,'Y','y'] then dec(j);
Jak pisałem jestem początkujący i nie wiem jak działa to in. Domyślam się ale mógłby mi to ktoś wyjaśnić?
A tak odchodząc od tematu. Cyrkiel ja też jestem z Lublina! Lublin rządzi!
A tak odchodząc od tematu. Cyrkiel ja też jestem z Lublina! Lublin rządzi! :D
Ups.. źle znaki się wyświetliły, w paszczaku to były a, ą, e, ę ... :) Ta konstrukcja sprawdza, czy znak (s[i]) zawiera się w zbiorze [] :)
Ja używam TP7 B)
Użytkownik Cyrkiel edytował ten post 06 styczeń 2006, 22:40
Dzięki!
A jakim programem kompilujecie Pascala? Bo mi sie nie wyświetlają poprawnie polskie znaki, używam Dev-Pascala z FPC. Tylko chodzi mi o windowsowe wersje, bo naprzykład TP 7 działa w DOSie i jest niewygodny.
Użytkownik mmatheww edytował ten post 06 styczeń 2006, 22:38
Jezeli uzywasz nie uzywasz dosowego kompilatora to wpisz z tymi krzaczkami, czyli tak jak napisal Cyrkiel, jesli zas korzystasz z dosowego musisz pozamieniac te krzaczki na zwykle litery (po wklejeniu samo sie zamieni ;] )
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
uses crt; var tekst:string; id:longint; dlugosc:longint; ilosc:longint; label kotwica; begin clrscr; kotwica: writeln('Napisz jakiś tekst'); readln(tekst); dlugosc:=length(tekst); id:=0; ilosc:=0; repeat if (tekst[id]='a') or (tekst[id]='e') or(tekst[id]='y') or(tekst[id]='u') or(tekst[id]='i') or(tekst[id]='o') or(tekst[id]='ó') or(tekst[id]='ą') or (tekst[id]='ę') or (tekst[id]='A') or (tekst[id]='E') or(tekst[id]='Y') or(tekst[id]='U') or(tekst[id]='I') or(tekst[id]='O') or(tekst[id]='Ó') or(tekst[id]='Ą') or (tekst[id]='Ę') then ilosc:=ilosc else ilosc:=ilosc+1; id:=id+1; until id=dlugosc; writeln; writeln('W podanym tekście występuje ',ilosc,' spółgłosek'); goto kotwica; end.
może w niektórych miejscach kod wydaje się dziwny, więc jeżeli macie do tego poprawki to koniecznie piszcie!
uses crt; var s:string; i, j:byte; begin clrscr; write('Wpisz wyraz: '); readln(s); if s<>'' then begin j:=length(s); for i:=1 to length(s) do if s[i] in ['A','a','¤','Ą','E','e','¨','© ','I','i','O','o','Ĺ','Ë','U','u' ,'Y','y'] then dec(j); writeln('Liczba spolglosek: ',j); end; readkey; end.poza tym było już raz :P http://forum.ks-eksp...showtopic=67232
Na czym polega ta instrukcja?
if s[i] in ['A','a','¤','Ą','E','e','¨','© ','I','i','O','o','Ĺ','Ë','U','u' ,'Y','y'] then dec(j);
Jak pisałem jestem początkujący i nie wiem jak działa to in. Domyślam się ale mógłby mi to ktoś wyjaśnić?
A tak odchodząc od tematu. Cyrkiel ja też jestem z Lublina! Lublin rządzi!
A tak odchodząc od tematu. Cyrkiel ja też jestem z Lublina! Lublin rządzi! :D
Ups.. źle znaki się wyświetliły, w paszczaku to były a, ą, e, ę ... :) Ta konstrukcja sprawdza, czy znak (s[i]) zawiera się w zbiorze [] :)
Ja używam TP7 B)
Użytkownik Cyrkiel edytował ten post 06 styczeń 2006, 22:40
Dzięki!
A jakim programem kompilujecie Pascala? Bo mi sie nie wyświetlają poprawnie polskie znaki, używam Dev-Pascala z FPC. Tylko chodzi mi o windowsowe wersje, bo naprzykład TP 7 działa w DOSie i jest niewygodny.
Użytkownik mmatheww edytował ten post 06 styczeń 2006, 22:38
Jezeli uzywasz nie uzywasz dosowego kompilatora to wpisz z tymi krzaczkami, czyli tak jak napisal Cyrkiel, jesli zas korzystasz z dosowego musisz pozamieniac te krzaczki na zwykle litery (po wklejeniu samo sie zamieni ;] )