Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - перевод кода с Paskаля на С++

Ответить
Настройки темы
C/C++ - перевод кода с Paskаля на С++

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Drongo
Дата: 16-12-2013
Привет. Ребята,товарищи,братья) Помогите пожалуйста девушке с курсачом) Я написала курсовик полностью на паскале( Но сдавать его мне нужно полностью на ненавистном мне языке С++ ( ах,да оказывается мы его весь семестр учили,а я и не заметила).буду очень рада если кто-нибудь мне очень поможет в этом нелегком деле. так же не останусь в долгу) с меня бутылка хорошего коньяка/виски или шоколадка большая ( в зависимости что ты предпочитаешь,и если ты из Питера)

задача:Найти такую точку заданную на плоскости множества точек, сумма расстояний от которой до остальных минимальна.( т.е Даны точки, заданные двумя координатами.
Вычислить по формуле расстояние от каждой точки до другой. Сложить расстояния от одной точки до каждой ,сравнить полученные результаты.
Вывести координату точки такую, что сумма расстояний от этой точки до других была минимальна.) чтение координат из файла, запись результата в файл + должен быть промежуточный файл со всеми сравнениями



вот сам код ( да комментарии очень по- русски)


Код: Выделить весь код
program kursovik;
{Ќ*©вЁ в*Єго в®зЄг, §*¤***го ** Ї«®бЄ®бвЁ ¬*®¦Ґбвў* в®зҐЄ,}
{б㬬* а*ббв®п*Ё© ®в Є®в®а®© ¤® ®бв*«м*ле ¬Ё*Ё¬*«м**}
uses crt;
const Max=100;
      M=high(integer);
type vert=1..2; horiz=1..Max; opentype=integer;
     numbtype=longint;
     numbreal=real;
     mass=array[horiz] of opentype;
     matrix=array[vert] of mass;
var koord:matrix;{Љ®®а¤Ё**вл в®зҐЄ}
    n:numbtype;{Љ®«ЁзҐбвў® в®зҐЄ}
    fout:text;
procedure zagokovki;{‡*Ј®«®ўЄЁ}
 begin{head}
  GotoXY(23,2);
  WriteLn('Љгаб®ў*п а*Ў®в* Ї® Їа®Ја*¬¬Ёа®ў**Ёо');
  GotoXY(1,5);
  WriteLn('‡*¤**ЁҐ:');
  WriteLn;
  WriteLn(' Ќ*©вЁ в*Єго в®зЄг, §*¤***го ** Ї«®бЄ®бвЁ ¬*®¦Ґбвў* в®зҐЄ, б㬬* а*ббв®п*Ё©');
  WriteLn('®в Є®в®а®© ¤® ®бв*«м*ле ¬Ё*Ё¬*«м**.');
  WriteLn;WriteLn;WriteLn;
  WriteLn('ђҐиҐ*ЁҐ:');
 end;{head}
procedure oprkoord(var n:numbtype;var koord:matrix);
{д®а¬Ёа®ў**ЁҐ ¬*ббЁў*}
 var i,j:numbtype;
     fin:text;
 begin{massform}
  Assign(fin,'input.txt');
  Reset(fin);
  n:=0;
  WriteLn;
  while not eof(fin) do
   begin
        n:=n+1;
        read(fin,i);
   end;
  reset(fin);
  n:=n div 2;
  for i:=1 to 2 do
   for j:=1 to n do
    read(fin,koord[i,j]);
  Close(fin);
 end;{massform}
procedure dlopr(var n:numbtype;var koord:matrix);
{®ЇаҐ¤Ґ«Ґ*ЁҐ а*ббв®п*Ё©}
 var i,j,k,l,index:numbtype;
     sum,summin,rasst:numbreal;
     fout:text;
 begin{dlopr}
  Assign(fout,'output.txt');
  Rewrite(fout);
  WriteLn('Љ®«ЁзҐбвў® в®зҐЄ = ',n);
  WriteLn(fout,'Kolichestvo tochek = ',n);
  WriteLn;
  WriteLn(fout);
  WriteLn('€б室*®Ґ ¬*®¦Ґбвў® в®зҐЄ:');
  WriteLn(fout,'Iskchodnoe mnozhestvo tochek:');
  for i:=1 to n do
   begin
        Write('(',koord[1,i],';',koord[2,i],') ');
        Write(fout,'(',koord[1,i],';',koord[2,i],') ');
   end;
  WriteLn;
  Writeln(fout);
  WriteLn(fout,'-------------------------');
  summin:=M;{¬Ё*Ё¬*«м**п б㬬*}
  index:=0;{Ё*¤ҐЄб в®зЄЁ, а*ббв®п*ЁҐ ®в Є®в®а®© ¤® ®бв*«м*ле ¬Ё*Ё¬*«м*®};
  for i:= 1 to n do
      begin{1}
         sum:=0;
         WriteLn(fout,'Vibrana tochka ',i,' (',koord[1,i],',',koord[2,i],')');
         for j:= 1 to n do
            begin{2}
               WriteLn(fout,'     Rassmatrivaemaya tochka:',' (',koord[1,j],',',koord[2,j],')' );
               if (i=j) then
                  continue
               else
                  begin
                     rasst:=sqrt((koord[1,i]-koord[1,j])*(koord[1,i]-koord[1,j])
                     +(koord[2,i]-koord[2,j])*(koord[2,i]-koord[2,j]));
                     {ўлзЁб«Ґ*ЁҐ а*ббв®п*Ёп ®в ўлЎа***®© в®зЄЁ ¤® а*бб¬*ваЁў*Ґ¬®©}
                     sum:=sum+rasst;{ўлзЁб«Ґ*ЁҐ б㬬л а*ббв®п*Ё© ®в в®зЄЁ}
                     WriteLn(fout,'               Rasstoyanie ot rassmatrivaemoi tochki do vibrannoi = ',rasst:5)
                  end;
            end{2};
         writeln(fout,'Summa rasstoyaniy = ',sum:5);
         if sum<summin then {ба*ў*Ґ*ЁҐ Ї®«гзҐ**®© б㬬л б ¬Ё*Ё¬*«м*®©}
            begin
               summin:=sum;{ЇаЁ ўлЇ®«*Ґ*ЁЁ гб«®ўЁп - ЇаЁбў*Ёў**ЁҐ §**зҐ*Ёп}
               index:=i; {...Ё §*Ї®¬Ё***ЁҐ Ё*¤ҐЄб* §**зҐ*Ё© Є®®а¤Ё**вл в®зЄЁ ў ¬*ббЁўҐ}
            end;
         writeln(fout,'---------------------------')
      end{1};
  writeln;
  writeln('ЊЁ*Ё¬*«м**п б㬬* а*ббв®п*Ё© ¤® ®бв*«м*ле =',summin:5,' ®в в®зЄЁ: [',koord[1,index],',',koord[2,index],']');
  write(fout,'Minimalnaya summa rasstoyaniy do ostalnikch =',summin:5,' ot tochki: [',koord[1,index],',',koord[2,index],']');
  writeln(fout);
  close(fout);

 end;{dlopr}
begin{Main}
 clrscr;
 zagokovki;
 oprkoord(n,koord);
 If n=0 then
   begin
      Assign(fout,'output.txt');
      Rewrite(fout);
      WriteLn('Error!: ‚室*®© д*©« Їгбв');
      WriteLn(fout,'Error!: Vhodnoi fail pust');
      close(fout)
   end
 else if n=1 then
   begin
      Assign(fout,'output.txt');
      Rewrite(fout);
      WriteLn('Error!: €б室*л¬ ¬*®¦Ґбвў®¬ в®зҐЄ пў«пҐвбп Ґ¤Ё*б⢥***п в®зЄ*');
      WriteLn(fout,'Error!: Iskchodnim mnozhestvom tochek yavlyaetsya edinstvennaya tochka');
      close(fout)
   end
 else
   dlopr(n,koord);
 readln;
end.

если надо могу кинуть скрины проги ( так комменты хоть русские)

Отправлено: 14:10, 15-12-2013

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - перевод кода с Paskаля на С++

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - [решено] Перевод кода с Pascal в C++ VisualZombi Программирование и базы данных 2 26-11-2013 02:33
C/C++ - Перевод кода с Pascal в C++ prosto_diod Программирование и базы данных 4 08-10-2013 14:20
C/C++ - Перевод кода с Pascal в C++ Sprint116 Программирование и базы данных 3 21-05-2013 22:02
C/C++ - Перевод кода с Pascal в C++ Dima91 Программирование и базы данных 5 02-03-2012 01:17
C/C++ - Перевод кода PASCAL в C++. Jooker666 Программирование и базы данных 0 06-05-2011 14:02




 
Переход