Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program garazwielopoziomowy;
- var poziomy : integer; {Liczba poziomow garazu}
- var garaz : array[1..500] of integer; {Aktualny stan garazu}
- var miejsca : array[1..500] of integer; {Dostêpne w garazu miejsca}
- var maxWaga : array[1..500] of integer; {Maksymalna waga samochodu}
- var cmd : integer; {Polecenie}
- var masa : integer; {Masa wjezdzajacego samochodu}
- var poziom : integer; {Poziom, z ktorego wyjezdza samochod}
- var wjedzie : boolean; {Czy samochod moze wjechac}
- var i : integer; {iterator do wykorzystania w petlach}
- begin
- cmd := -1; {Inicjalizacja zmiennej}
- write('Prosze podac liczbe poziomow garazu (1-500): ');
- readln(poziomy);
- for i:=poziomy downto 1 do {Wprowadzanie informacji o garazu}
- begin
- write('Podaj liczbe miejsc na poziomie ', i, ': ');
- readln(miejsca[i]);
- garaz[i] := 0; {Zerowanie zmiennej}
- if i>1 then
- begin
- write('Podaj maksymalny ciezar samochodu na poziomie ', i, '(kg): ');
- readln(maxWaga[i]);
- end
- end;
- maxWaga[1] := 32767; {Maksymalna wartoæ, czyli poziom dla najciezszych}
- repeat {Obsluga garazu}
- begin
- write('Polecenie (1=wjazd, 2=wyjazd, 0=koniec): ');
- readln(cmd);
- if cmd = 1 then {Wjazd}
- begin
- write('Podaj mase samochodu (kg): ');
- readln(masa);
- wjedzie := false;
- for i:=poziomy downto 1 do {Sprawdza od gory, czy moze wjechac na dany poziom}
- begin
- if (masa < maxWaga[i]) AND (garaz[i] < miejsca[i]) AND (wjedzie = false) then {Wjedz na poziom i}
- begin
- wjedzie := true;
- garaz[i] := garaz[i]+1;
- writeln('Poziom ', i);
- end;
- end;
- if wjedzie = false then {Nie mo¿e wjechac na zaden poziom}
- begin
- writeln('Nie ma miejsca');
- end;
- end;
- if cmd = 2 then {Wyjazd}
- begin
- write('Podaj poziom: ');
- readln(poziom);
- if garaz[poziom] > 0 then
- begin
- garaz[poziom] := garaz[poziom]-1;
- end;
- end;
- if cmd = 0 then exit();
- end
- until cmd = 0;
- end.
Advertisement
Add Comment
Please, Sign In to add comment