Показать сообщение отдельно
  #1  
Старый 22.10.2012, 14:05
js_m1m js_m1m вне форума
Прохожий
 
Регистрация: 22.10.2012
Сообщения: 5
Репутация: 10
Вопрос Одномерные массивы на делфи

Задали в вузике две задачки, одну осилил сам, но почему-то какие-то проблемы. Вторую не очень понимаю, как реализовать. Помогите, пожалуйста. Спасибо заранее.

1.Дан целочисленный массив Х(3n). Последовательность элементов этого массива оп-ределяет на плоскости n квадратов со сторонами, параллельными осям координат. Так, (х1,х2) - координаты левого верхнего угла первого квадрата, а х3 - длина его стороны, и т. д. Определить номера квадратов, которым принадлежит точка с известными координа-тами (p,q).

Код:
program Project4;

{$APPTYPE CONSOLE}                

uses
SysUtils;

var
   X: array[0..8] of integer;
   p,q: integer;
   l,i,j: integer;
   x1,x2,x3: integer;

begin
  Writeln('vvedi p,q');
  Readln(p,q);
  X[0]:=3;
  X[1]:=5;
  X[2]:=4;
  X[3]:=9;
  X[4]:=1;
  X[5]:=15;
  X[6]:=4;
  X[7]:=17;
  X[8]:=2;
   l := Length(X);
   i := 0;
   j := 1;
   while (i < l) do begin
      x1 := X[i];
      x2 := X[i + 1];
      x3 := X[i + 2];
      //Writeln(x1,',',x2,',',x3);
      if ((p >= x1) and (q >= x2) and (p <= (x1 + x3)) and (q <= (x2 + x3))) then
      begin
         writeLn(j);
         //writeln(l);
      end;
      Inc(j);
      Inc(i,3);
   end;
   readln;
end.
В итоге номер квадрата все-таки почему-то не выводится.

2. Приложил условие.
Изображения
Тип файла: jpg анонам.jpg (92.3 Кбайт, 9 просмотров)
Ответить с цитированием