Форум программистов, компьютерный форум CyberForum.ru

Перевод с Паскаля на c++ - C++

Восстановить пароль Регистрация
 
Xsenon_rus
8 / 8 / 0
Регистрация: 18.04.2011
Сообщений: 104
13.12.2012, 02:03     Перевод с Паскаля на c++ #1
Помогите перевести прогу с Паскаля на c++.
Вот код.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
uses crt;
const nmax=15;
      e=0.001;{точность сравнения}
type point=record
           x,y:real;
           end;
     mnz=array[1..nmax] of point;{тип множеств}
function Sq(t1,t2,t3:point):real;{нахождение площади по координатам}
begin
sq:=abs((t1.x-t3.x)*(t2.y-t3.y)-(t2.x-t3.x)*(t1.y-t3.y));
end;
function Prin(t1,t2,t3,t:point):boolean;{принадлежность точки треугольнику}
var s,s1,s2,s3:real;
begin
s:=Sq(t1,t2,t3);
s1:=Sq(t1,t2,t);
s2:=Sq(t1,t3,t);
s3:=Sq(t3,t2,t);
Prin:=abs(s-s1-s2-s3)<=e;
end;
procedure Vvod(var a:mnz;var n:byte;c:char);{ввод множества}
var i:byte;
begin
repeat
write('Количество точек в множестве ',c,' от 3 до ',nmax,' n=');
readln(n);
until n in [3..nmax];
writeln('Введите координаты точек');
for i:=1 to n do
 begin
  writeln('Точка ',i);
  write('x=');readln(a[i].x);
  write('y=');readln(a[i].y);
 end;
clrscr;
end;
procedure Vyvod(a:mnz;n:byte;c:char);{вывод}
var i:byte;
begin
writeln('Координаты множества ',c,':');
write('N');
for i:=1 to n do
write(i:5);
writeln;
write('X');
for i:=1 to n do
write(a[i].x:5:1);
writeln;
write('Y');
for i:=1 to n do
write(a[i].y:5:1);
writeln;
writeln;
end;
var a,b:mnz;
    na,nb,i,j,k,p,imn,jmn,kmn,kt:byte;
    mn:real;
begin
clrscr;
Vvod(a,na,'A');
Vvod(b,nb,'B');
Vyvod(a,na,'A');
Vyvod(b,nb,'B');
imn:=0;
mn:=1.7e38;
for i:=1 to na-2 do
for j:=i+1 to na-1 do
for k:=j+1 to na do
 begin
  kt:=0;
  for p:=1 to nb do
  if Prin(a[i],a[j],a[k],b[p]) then kt:=kt+1;
  if (kt=nb)and(Sq(a[i],a[j],a[k])<mn) then
   begin
    mn:=Sq(a[i],a[j],a[k]);
    imn:=i;
    jmn:=j;
    kmn:=k;
   end;
 end;
if imn=0 then write('Треугольников по условию нет')
else
 begin
  writeln('Минимальная площадь треугольника по условию');
  write('образован точками ',imn,' ',jmn,' ',kmn,' = ',mn:0:2);
 end;
readln
end.
Добавлено через 21 час 31 минуту
Всё ещё нужна помощь если что вот условие :
Даны 2 множества точек на плоскости. Выбрать 3 различные точки первого множества так , что бы треугольник с вершинами в этих точках накрывал все точки второго множества и имел минимальную площадь.

Добавлено через 1 час 57 минут
Неужели тут на форуме никто не знает как решить мою задачу ну или больше 2 языков программирования ?

Добавлено через 3 часа 38 минут
HELP ME !!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2012, 02:03     Перевод с Паскаля на c++
Посмотрите здесь:

C++ перевод с паскаля на С++
Перевод с паскаля на С++ C++
C++ Перевод из паскаля в с ++
Перевод из Паскаля в C++ C++
Перевод из Паскаля в С++ C++
Перевод с паскаля в С++ C++
Перевод с Паскаля в С++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru