Написать программу в pascal, чтобы выдал подъезд и этаж
Answers & Comments
Prokudin34
Pascal. var n: integer; k: integer; p: integer; m: integer; x: integer; y: integer; z: integer; begin write('Сколько подъездов в доме? '); readln(m); write('Сколько этажей в доме? '); readln(n); write('Сколько квартир на 1-ом этаже? '); readln(p); write('Сколько квартир на остальных этажах? '); readln(k); writeln('Общее количество квартир в доме: ',(k*(n-1)+p)*m); repeat write('Номер квартиры: '); readln(x); if x>(k*(n-1)+p)*m then writeln('Выбранной Вами квартиры не существует. Введите настоящий номер.'); until x in[1..(k*(n-1)+p)*m]; if x>k*(n-1)+p then begin z:=x div 16+1; x:=x mod 16; if x>p then y:=x div k +1 else y:=1; end else begin z:=1; if x>p then y:=x div k +1 else y:=1; end; writeln('Искомая квартира находится в ',z,'-м подъезде на ',y,' этаже.'); readln; end.
2 votes Thanks 0
denis1121
хм,программа работает,но можно было бы ее чуть укоротить. Да и еще я нашел ошибку в программе: Если ввел что подъездов 1,этажей 3,на 1 этаже квартир 2,а на других тоже по 2,то выдает что квартира находиться на 4 этаже.Хоть мы указали что всего 3 этажа...
Answers & Comments
var
n: integer;
k: integer;
p: integer;
m: integer;
x: integer;
y: integer;
z: integer;
begin
write('Сколько подъездов в доме? ');
readln(m);
write('Сколько этажей в доме? ');
readln(n);
write('Сколько квартир на 1-ом этаже? ');
readln(p);
write('Сколько квартир на остальных этажах? ');
readln(k);
writeln('Общее количество квартир в доме: ',(k*(n-1)+p)*m);
repeat
write('Номер квартиры: ');
readln(x);
if x>(k*(n-1)+p)*m then writeln('Выбранной Вами квартиры не существует. Введите настоящий номер.');
until x in[1..(k*(n-1)+p)*m];
if x>k*(n-1)+p then
begin
z:=x div 16+1;
x:=x mod 16;
if x>p then y:=x div k +1 else y:=1;
end else
begin
z:=1;
if x>p then y:=x div k +1
else y:=1;
end;
writeln('Искомая квартира находится в ',z,'-м подъезде на ',y,' этаже.');
readln;
end.
Да и еще я нашел ошибку в программе:
Если ввел что подъездов 1,этажей 3,на 1 этаже квартир 2,а на других тоже по 2,то выдает что квартира находиться на 4 этаже.Хоть мы указали что всего 3 этажа...