Pawo

Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору nowar Цитата: Составить программу заполнения двумерного массива “по спирали”. | Подробнее... [?] (взято отсюда и приведено в товарный вид ) Добавлено: danyagst Цитата: без применения процедуры??? | Подробнее... [?] Добавлено: nowar Цитата: Среди N точек на плоскости найти пару самых удалённых друг от друга. | Даны координаты N точек на плоскости (x1,x2),..,(xN,xN) N<=30 Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственна). Код: { Линейные массивы } { B 24 } { Даны координаты N точек на плоскости (x1,x2),..,(xN,xN) } { N<=30 Найти номера пары точек, расстояние между которыми } { наибольшее (считать, что такая пара единственная). } {Andrey Sharov } { e-mail : ansharov@one.lv } { website: www.borlpasc.narod.ru } uses CRT; var f: Text; S: string; R: extended; i,j,a,b,N: integer; X,Y: array[1..30] of extended; BEGIN ClrScr; { имя тест-файла "9" } WriteLn('Введите имя файла [9] с данными [*.pas] или Enter, если вручную'); ReadLn(S); if S='' then begin { ручной ввод } WriteLn('Количество точек N:= '); ReadLn(N); if N>30 then begin WriteLn('N<=30 !'); exit end; for i:=1 to N do begin WriteLn(i,'-я точка (X Y):='); ReadLn(X[i]); ReadLn(Y[i]); end; end else begin { ввод из файла } Assign(f,S+'.pas'); Reset(f); ReadLn(f);{ Комментарий } i:= 0; while not eof(f) do begin inc(i); ReadLn(f, x[i],y[i]); end; N:= i; Close(f); end; for i:= 1 to N-1 do for j:= i+1 to N do if (SQRT(sqr(X[i]-X[j]) + sqr(Y[i]-Y[j])) >= R) then begin R:= SQRT(sqr(X[i]-X[j]) + sqr(Y[i]-Y[j])); a:= i; b:=j; end; WriteLn('Расстояние между точками X[',a,'](', X[a]:0:0,',',X[b]:0:0,') и Y[',b,'](', Y[a]:0:0,',',Y[b]:0:0,') = ', R:0:0); WriteLn('< OK >');ReadKey; END. | Добавлено: nowar Цитата: Транспонировать квадратную матри | Транспонирование квадратной матрицы. | Всего записей: 1105 | Зарегистр. 05-05-2007 | Отправлено: 22:14 02-06-2009 | Исправлено: Pawo, 22:17 02-06-2009 |
|