x-kom hosting

[Rozwiązany][Pascal]Funkcja liczaca ilość znaków

adrian43210
utworzono
utworzono (edytowane)

wie ktoś z was jak napisać program liczący ilość znaków w tekście a dokładniej ilość liczb np. jak będzie osiem liczb to program je policzy i napisze że jest ich 8.

rafalluz
komentarz
komentarz

Tzn? Co ma zwrócić w przypadku takiego inputa:

"1 10 100 1000 10000 100000 1000000 10000000"

adrian43210
komentarz
komentarz

najpierw je policzy i później Napisze ile ma liczb np.123456789 i program powie że jest 9 liczb.

leggo
komentarz
komentarz (edytowane)

Nie napisałeś w ogóle w jakim języku chcesz napisać ten program.

Zakładasz, że podany tekst będzie się składał z samych cyfr, czy mogą się w nim pojawić inne znaki?
Jeżeli w tekście będą tylko cyfry wystarczy, że zmierzysz długość pobranego łańcucha (sposób w jaki możesz to zrobić zależy od wybranego przez ciebie języka).
Jeżeli w pobranym tekście będą też inne znaki, musisz sprawdzić ile ze znaków ma w kodzie ASCII numer z przedziału <48,57> (tylko w tym przedziale są cyfry)

Sprawa będzie trochę bardziej skomplikowana, jeśli chcesz (tak jak piszesz) zliczać [b]liczby[/b]. W takim wypadku gdy sprawdzisz, że dany znak jest cyfrą musisz jeszcze sprawdzić czy pomiędzy kolejną cyfrą występuje jakiś inny znak. Gdy znajdziesz kilka "sklejonych" ze sobą cyfr, musisz je traktować jak jedną liczbę

adrian43210
komentarz
komentarz

Chcę to napisać w Pascalu.

leggo
komentarz
komentarz

[quote name='Legolass' timestamp='1318574622' post='1356725']
Zakładasz, że podany tekst będzie się składał z samych cyfr, czy mogą się w nim pojawić inne znaki?
[/quote]

adrian43210
komentarz
komentarz

Same cyfry.

leggo
komentarz
komentarz

[CODE]
Program nazwa;
var
tekst :string;
begin
writeln('Wprowadz tekst:');
readln(tekst);
writeln('Podany tekst sklada sie z ', length(tekst), ' cyfr.');
end.
[/CODE]
Nie kompilowałem, ale za bardzo nie ma gdzie popełnić błędu.

  • Dobra wypowiedź 1
adrian43210
komentarz
komentarz (edytowane)

Po wprowadzeniu tekstu wychodzi z programu.
Ok wszystko już działa wystarczyło zastopować readln;
Dzięki.

leggo
komentarz
komentarz

...
[CODE]
Program nazwa;
var
tekst :string;
begin
writeln('Wprowadz tekst:');
readln(tekst);
writeln('Podany tekst sklada sie z ', length(tekst), ' cyfr.');
readln;
end.
[/CODE]

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.