Показать сообщение отдельно

  #9  
Старый 10.10.2009, 18:02
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
С нами: 8912059

Репутация: 249
По умолчанию

Цитата:
Сообщение от >>serhio<<  
Нужна помощь срочно на Turbo Pascale выручайте плизз!!!!!!
Задача 1:
Даны координаты точек на плоскости точек ≤30. Найти пары номера точек, расстояние между которыми наибольшее.
Задача 2:
Дан массив, образовать новый массив состоящий из элементов исходного заканчивающихся на цифру X.
Задача 1:

Для корректной работы программы требуется файл 'input.txt' в котором находятся координаты точек (Файл поместить в директорию с TurboPascal, ну или прописать путь при открытии файла).

Пример:
Код:
3 4
1 1
3 4
1 1
5 3
1 1
2 3
0 0
-1 -1
Код:
program RASSTOIANIE_MESHDU_TOCHKAMI;

var
f:text;
intI,intB,intM:integer;
MasKorToc:array [1..30,1..2] of integer;
tmpI,MaxRast,tmpRast:real;
goodToch:array[1..30,1..2] of integer;

begin                           
assign(f,'input.txt');
reset(f);
intM:=1;

while eof(f) = false do begin
readln(f,MasKorToc[intM,1],MasKorToc[intM,2]);
writeln('Position = ',intM,' X = ',MasKorToc[intM,1],' Y = ',MasKorToc[intM,2]);
intM:=intM+1;
end;

intM:=intM-1;

for intI:=1 to intM do begin
for intB:=1 to intM do begin

tmpI:=(MasKorToc[intI,1]-MasKorToc[intB,1])*(MasKorToc[intI,1]-MasKorToc[intB,1]);
tmpRast:=sqrt(tmpI+(MasKorToc[intI,2]-MasKorToc[intB,2])*(MasKorToc[intI,2]-MasKorToc[intB,2]));
if tmpRast>MaxRast then begin
goodToch[1,1]:=intI;
goodToch[1,2]:=intB;
MaxRast:=TmpRast;
end;
end;
end;
writeln;
writeln('Maksimalbnoe rasstoianie mezhdu tochkami: ',goodToch[1,1],' i ',goodToch[1,2]);

close(f);
readln;
end.
Результат работы:

input.txt:
Код:
3 4
1 1
5 3
1 1
2 3
0 0
-1 -1
Код:
Position = 1 X = 3 Y = 4
Position = 2 X = 1 Y = 1
Position = 3 X = 5 Y = 3
Position = 4 X = 1 Y = 1
Position = 5 X = 2 Y = 3
Position = 6 X = 0 Y = 0
Position = 7 X = -1 Y = -1

Maksimalbnoe rasstoianie mezhdu tochkami: 3 i 7
input.txt:
Код:
6 6
3 4
1 1
5 3
1 1
2 3
0 0
Код:
Position = 1 X = 6 Y = 6
Position = 2 X = 3 Y = 4
Position = 3 X = 1 Y = 1
Position = 4 X = 5 Y = 3
Position = 5 X = 1 Y = 1
Position = 6 X = 2 Y = 3
Position = 7 X = 0 Y = 0

Maksimalbnoe rasstoianie mezhdu tochkami: 1 i 7
Задача 2:
Код:
program MASSIV_ELEMENT_PLUS_X;

var
Ishod:array [1..10] of string;
intI:integer;

begin
writeln('Ishodnui massiv');
for intI:=1 to 10 do begin
str(intI*100,Ishod[intI]);
writeln('Element ',intI,' = ',Ishod[intI]);
end;
writeln;
writeln('Preobrazovannui massiv');
for intI:=1 to 10 do begin
Ishod[intI]:= Ishod[intI]+'10';
writeln('Element ',intI,' = ',Ishod[intI]);
end;

readln;
end.
Код:
Результат работы:
Ishodnui massiv
Element 1 = 100
Element 2 = 200
Element 3 = 300
Element 4 = 400
Element 5 = 500
Element 6 = 600
Element 7 = 700
Element 8 = 800
Element 9 = 900
Element 10 = 1000

Preobrazovannui massiv
Element 1 = 10010
Element 2 = 20010
Element 3 = 30010
Element 4 = 40010
Element 5 = 50010
Element 6 = 60010
Element 7 = 70010
Element 8 = 80010
Element 9 = 90010
Element 10 = 100010

Последний раз редактировалось Dosia; 10.10.2009 в 19:19..
 
Ответить с цитированием