Skocz do zawartości

shalan

Użytkownicy
  • Zawartość

    1
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralny

O shalan

  • Ranga
    Nowy na forum
  1. Witam wszystkich! Potrzebuję pomocy w lekkim (taką mam nadzieję) doszlifowaniu kodu. Mam coś takiego: program liczeniedzialajace; USES CRT; VAR t:file of char; a:char; krop,wykrz,pyt,licz,dwuz,uo,uz:longint; BEGIN clrscr; krop:=0; wykrz:=0; pyt:=0; licz:=0; dwuz:=0; uo:=0; uz:=0; assign(t, 'plik.txt'); reset(t); while not eof(t) do begin; read(t,a); if (a=chr(46)) then krop:=krop+1; if (a=chr(33)) then wykrz:=wykrz+1; if (a=chr(63)) then pyt:=pyt+1; if (a>=chr(48)) and (a<=chr(57)) then licz:=licz+1; if (a=chr(85)) or (a=chr(117)) then uo:=uo+1; if (a=chr(162)) or (a=chr(224)) then uz:=uz+1; end; writeln('W pliku jest ' ,krop, ' zdan zakonczonych kropka, ' ,wykrz,' zdan zakonczonych wykrzyknikiem, ' ,pyt, ' pytan i ' ,licz, ' liczb, a stosunek u do ' ,chr(162), ' wynosi ' ,uo,':',uz); close(t); readkey; END. Moim zadaniem było (cytuję dosłownie) Upraszczając: muszę napisać program, który wczyta plik i będzie zawierał funkcje liczące: -zdania kończące się kropkami, -zdania kończące się innymi znakami, -zdania kończące się dwuznakiem '?!', -zdania bez liczb, -liczby w pliku, -ilość 'u' oraz 'ó' i ich stosunek. Znalazłem podobny kod do tego (dodałem swoje zmienne), ale mój problem polega na tym, że gdy program znajdzie cyfrę nie potrafię odwołać się do kolejnej pozycji (aby sprawdzić, czy kolejny znak również jest cyfrą); to samo w przypadku dwuznaku '?!'. Próbowałem robić coś na zasadzie a+1, jednak prawdopodobne problemy ze składnią uniemożliwiają kompilację. Gdzieś w internetach wyczytałem, żeby kombinować coś z true/false, jednak nie wiem co i jak, bo nie potrafię odwołać się do kolejnej pozycji. Kolejnym problemem jest to, że Pascal nie wyświetla 'ó', nawet jeśli wstawiam go jako znak ASCII. Myślałem też, żeby zrobić to w trochę inny sposób, coś na zasadzie wczytania tekstu z pliku do zmiennej (lub zabawy z tablicą) typu string bez limitu znaków (gdzieś o takim cudzie wyczytałem), wtedy poszłoby już raczej bez problemów. Wstawienie tego wszystkiego do funkcji również nie powinno sprawić mi problemów pod warunkiem, że będę miał już gotowy, działający program. Jeśli ktoś byłby w stanie udzielić mi jakichś wskazówek (w końcu muszę nauczyć się tego sam), to byłbym wdzięczny
×