PASCAL !!!

mam do napisania program, ktory oczekuje na pwisanie dowolnegozdania, nastepnie informuje z ilu liter i ilu wyrazow sklada sie wpisane zdanie. UWAGA! spacja nie jest litera...

program zaczyna sie w ten sposob:
program abc;
uses crt;
var zdanie:string;
i,litery,wyrazy:byte;

begin
clrscr;
writeln('Program oczekuje na wpisanie dowolnego zdania, nastepnie informuje z ilu');
writeln(' liter i ilu wyrazow sklada sie wpisane zdanie.');
writeln;
writeln('UWAGA=spacja nie jest litera.');
writeln;
writeln('Wpisz dowolne zdanie: ');
readln(zdanie);
for i := 1 to length(zdanie) do
if zdanie[i] <> ' ' then litery := litery+1;
wyrazy := length(zdanie)-litery+1;


Writeln('Liter w zdaniu jest: ',litery);
Writeln('Wyrazow w zdaniu jest: ',wyrazy);

readln;
end.

Ale cos w nim jest nie tak, bo po pierwsze liczy spacje, a po drugie nie wylicza ile jest zdan, czy ktos może to poprawic?

1

Odpowiedzi

Najlepsza Odpowiedź!
2010-02-27T19:34:29+01:00
If zdanie[i] <> ' ' then litery := litery+1;

W tej linijce pomiędzy znakami ' ' jest spacja, bez tego program nie będzie szukał spacji w zdaniu i nie będzie w stanie obliczyć ilości znaków oraz wyrazów.