Тема. Массивы. Организация ввода вывода. Строки.
А. Написать программу на обработку одномерного массива. Дан целочисленный массив Х(3n). Последовательность элементов этого массива определяет на плоскости n квадратов со сторонами, параллельными осям координат. Так, (х1,х2) - координаты левого верхнего угла первого квадрата, а х3 - длина его стороны, и т. д. Определить номера квадратов, которым принадлежит точка с известными координатами (p,q). Если таких квадратов нет, то выдать сообщение.
Исходный код программы на Delphi:
program mas;
{$APPTYPE CONSOLE}
uses
SysUtils;
const n=2;
var m:array[1..3*n] of integer;
i,p,q:integer;
key:boolean;
begin
key:=false;
{ TODO -oUser -cConsole Main : Insert code here }
for i:=1 to 3*n do
begin
Writeln('Vvedite znachenie ',i);
Readln(m[i]);
end;
Writeln('Vvedite koordinatu tochek p & q');
Readln(p,q);
i:=0;
repeat
inc(i);
//Writeln(i,' prohod');
if (p>=(m[i])) and (p<=(m[i]+m[i+2])) and (q>=m[i+1]) and (q<=(m[i+1]+m[i+2]))
then
begin
Writeln('Tochka nahoditsya v kvadrate ',round((i+2)/3):2);
key:=true;
end;
i:=i+2;
until i>3*n-3;
if key<>true then Writeln('Net kvadratov udovletvor usloviy');
Readln;
end.
Условие нахождения точки в квадрате:
(p>=(m[i])) and (p<=(m[i]+m[i+2])) and (q>=m[i+1]) and (q<=(m[i+1]+m[i+2])
Блок схема программы на Delphi:
|