WinSxS [ Pretorianin ]
liczba spolglosek i samoglosek - pascal
Witam.
Jestem na etapie poznawania tablic w pascalu, ale nauczyciel juz zlecil, zebysmy poszukali jakis skrypt na program, ktory poprosi uzytkownika o jakis tekst, policzy ile jest w nim samoglosek/spolglosek/liczb i wyswietli wyniki.
Bylbym dzwieczny za pomoc.
kastore [ Troll Slayer ]
Do tego specjalnie nie bedą potrzebne tablice, no chyba żeby sie profesor uparł.
uses Crt;
var
tekst : String[100];
i : Integer;
Spl, Sam : Integer;
begin
ClrScr;
Write('Podaj tekst ');ReadLn(tekst);
for i:=1 to Length(tekst) do
case tekst[ i ] of
'a','e','i','o','u' : inc(Sam);
else inc(Spl);
end;
WriteLn('Liczba samoglosek to ',Sam);
WriteLn('Liczba spolglosek to ',Spl);
Write('Nacisnij <Enter>')
ReadLn;
end.
cotton_eye_joe [ maniaq ]
for i:=1 to Length(tekst) do
case tekst[ i ] of
'a','e','i','o','u' : inc(Sam);
else inc(Spl);
end;
na pascalu sie nie znam za bardzo - bardziej java/c. on automatycznie zwieksza 'i' w petli? nie trzeba tu jeszcze dodac czegos w stylu inc(i); (przed endem)?
kastore [ Troll Slayer ]
Nie nie trzeba , sam for wystarczy , poza tym to program przetestowany i uruchomiony w kompilatorze :)
WinSxS [ Pretorianin ]
Dziekuje.
Jeżeli chciałbym do tego dopisać liczby, to robie to przez dodanie jeszcze jednej zmiennej, np. "cyf" i dopisuje:
for i:=1 to Length(tekst) do
case tekst[ i ] of
'1','2','3i','4','5','6','7','8','9','0' : inc(cyf);
end;
WriteLn('Liczba cyfr w tekscie: ',cyf);
?
Kijano [ Generaďż˝ ]
to
case tekst[ i ] of
'a','e','i','o','u' : inc(Sam);
else inc(Spl);
zamieniasz na
case tekst[ i ] of
'a','e','i','o','u' : inc(Sam);
'1','2','3','4','5','6','7','8','9','0' :inc(Cyf);
else inc(Spl);
kastore [ Troll Slayer ]
WinSxS --> dokładnie w ten sposób jak napisałeś
Btw jak sie facio przyczepi czemu nie zrobiłeś na tablicach , to powiedz że String jest predefiniowaną tablicą zmiennych typu Char.

WinSxS [ Pretorianin ]
Dziekuje :)