@Piekos18 - zakres wartości dla pojedynczej liczby można określić za pomocą deklaracji specjalnego typu:
type
TMyNumber = 1 .. 100;
Jednak robiąc to w ten sposób, zakres wartości będzie stały i musi być znany w czasie kompilacji; Jeżeli zakres może określić użytkownik, trzeba pobrać jedną liczbę dla wartości minimalnej oraz drugą, dla wartości maksymalnej; Coś w tym stylu:
var
intMin, intMax: Integer;
begin
Write('Range minimum: ');
ReadLn(intMin);
Write('Range maximum: ');
ReadLn(intMax);
{...}
Następnie przy wprowadzaniu liczb, sprawdzać, czy podana liczba zawiera się w zakresie, np. tak:
var
intNumber: Integer;
begin
{...}
Write('Type number: ');
ReadLn(intNumber);
if InRange(intNumber, intMin, intMax) then
{...}
Reszta to pobranie liczby i użycie jej jako maksimum dla pętli For (aby określić ilość wprowadzanych liczb przez użytkownika); Można także wykorzystać inne pętle, ale raczej nie będzie z tego żadnego zysku - wręcz przeciwnie; A tym bardziej, jeśli użyjesz etykiet...
PS: Nadal nie wiem z jakiego środowiska korzystasz; Moje przykłady dotyczą najnowszego FPC;
A skoro już negować **label**ki, to może podam przykład dla języka asmascal™ - raczej nie przypomina to Pascala :D
uses
Crt, Math;
label
start, range_min, range_max, type_num, num_valid, finish;
var
intMin, intMax, intNumber: Integer;
begin
start:
ClrScr();
range_min:
Write('Type minimum: ');
ReadLn(intMin);
range_max:
Write('Type maximum: ');
ReadLn(intMax);
if intMax <= intMin then
begin
WriteLn('Value invalid - enter a number bigger than ', intMin);
goto range_max;
end;
type_num:
Write('Type numer: ');
ReadLn(intNumber);
if not InRange(intNumber, intMin, intMax) then
begin
WriteLn('Number invalid - enter a number from ', intMin, ' to ', intMax);
goto type_num;
end;
num_valid:
WriteLn('Great, You entered the valid number - ', intNumber);
finish:
WriteLn('Press Enter to exit...');
ReadLn();
end.
Wygląda cudnie.