Program wypisujący liczby z podanego przedziału - błąd kompilacji

0
program tablica5; 
uses crt;
const nn=100;
var
tab: ARRAY[1..nn] of word;
i,p1,p2: word;
begin
clrscr;
randomize;
for i:=1 to nn do tab[i]:=random(100);
writeln('podaj przedział liczb');
readln(p1,p2);
for i:=1 to nn do if (tab[i]>p1 and tab[i]<p2) then writeln(tab[i]);
readln;
end.

Proszę o sprawdzenie tego algorytmu, cały czas robie coś źle..
'Napisz program wczytujący do tablicy TAB100 dowolnych liczb naturalnych i wypisujący wszystkie liczby z przedziału <a,b>(podane przez użytkownika'.

zamiana znacznika <code class="php"> na <code class="pascal"> - Furious Programming

1

if (tab[i]>p1) and (tab[i]<p2) then

1

and ma większy priorytet, niż operatory porównania, a jako że w Pascalu and jest zarówno operatorem logicznym, jak i bitowym...

0

@Martii14 - możesz też skorzystać ze słowa kluczowego In i zbiorów do sprawdzenia, czy liczba zawiera się w danym przedziale:

for i := 1 to nn do
  if tab[i] in [p1 .. p2] then
    WriteLn(tab[i]);

No i formatuj kod i stosuj styl wielbłądzi, bo w obecnej postaci jest bardzo nieczytelny...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.