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

Перевод с Pascal на C++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ IntelliSense: требуется выражение http://www.cyberforum.ru/cpp-beginners/thread970912.html
Подскажите, почему выдает ошибку? Объявление textColor: SDL_Color textColor;
C++ Ошибка при наследовании класса Всем доброго времени суток, пытаюсь отнаследовать класс, вот такой код я смастерил: #ifndef CLASS_H_ #define CLASS_H_ class stack { protected: int *turn; int count, size; public: http://www.cyberforum.ru/cpp-beginners/thread970828.html
C++ Доработка структуры (удалить первый элемент с заданным объемом информации, добавить элемент перед элементом с указанным номером)
//--------------------------------------------------------------------------- ЗАДАНИЕ:Создать двоичный файл из элементов , заданных структурой НУЖНО: удалить первый элемент с заданным объемом информации, добавить элемент перед элементом с указанным номером #include <vcl.h> #include <fstream.h> #include <iostream.h> #include <conio.h>
Функция с переменным числом параметров C++
Написать функцию с переменным числом параметров, которая определяет количество чисел, являющихся точными квадратами (2, 4, 9, 16,. . . ) типа int. Написать вызывающую функцию main, которая обращается к функции не менее трех раз с количеством параметров 3, 7, 11
C++ Сортировка по фамилии http://www.cyberforum.ru/cpp-beginners/thread970803.html
Задание: Разработать классы для описанных ниже объектов. File: Имя файла, Размер, Дата создания, Количество обращений. Создать массив объектов. Вывести: а) список файлов, упорядоченный в алфавитном порядке; б) список файлов, размер которых превышает за- данный; в) список файлов, число обращений к которым превышает заданное.
C++ Ошибка точности Некоторая double переменная x равна 3.4. Домножив её на 1000, я получил 3400 (printf говорит, что всё верно), затем приведя её к типу int я получил (3399).. Я понимаю, точностью цифровая техника обделена, но я никогда не видел, чтобы точность терялась при приведении к int. Разве int не округляет вверх? Т.е. если бы даже было 3.9 или 4.1, то он бы дал 4? double x = 3.4; //предположим... подробнее

Показать сообщение отдельно
jhonjhonson
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 2

Перевод с Pascal на C++ - C++

07.10.2013, 10:17. Просмотров 237. Ответов 0
Метки (Все метки)

Помогите с программой нужно переделать ее на C ++ builder
Код
Program F_An;
 uses CRT;
 type complex = record re, im: real;
  end;
 type Opis_comp = record nam:char;a,b:integer; par: real;
  end;
 const n=2; Ninp=1; Nout=2; Nf=21; f1=0.01; f2=100;
   Zapis: array [1..2] of Opis_comp=
            ((nam: 'R'; a:1; b:2; par:1),
             (nam: 'C'; a:2; b:0; par:0.159));
 var i,j,k, m, a, b  : integer;
   f,df,w,Kvid,Kdb: real;
   Cres,t, z, y1: complex;
  Y:array [0..n,0..n+1] of complex;

    Procedure CAdd(C1, C2: complex; var Cres:complex);
      begin Cres.Re:= C1.Re+C2.Re; CRes.Im :=C1.Im+C2. Im
      end;

    Procedure CMinus(C1, C2: complex; var Cres:complex);
      begin Cres.Re:= C1.Re-C2.Re; CRes.Im :=C1.Im-C2. Im
      end;

    Procedure CMult(c1, c2: complex; var Cres:complex);
      begin Cres.re:= c1.Re*c2.Re-c1.im*c2.im;
                CRes.im:= c1.re*c2.im+c2.re*c1.im
      end;

    Procedure CDiv(c1, c2: complex; var Cres:complex);
      var q:real;
      begin q:=c2.re*c2.re+c2.im*c2.im;
        Cres.re:= (c1.Re*c2.Re+c1.im*c2.im)/q;
        Cres.im:= (c1.im*c2.re-c1.re*c2.im)/q;
      end;

  Begin
   ClrScr;
   df:=exp((ln(f2)-ln(f1))/(Nf-1));
   f:=f1;
   for m:=1 to Nf do
   begin
     w:=2*Pi*f;
     for i:=0 to n do

     
     for j:=0 to n+1 do
         with Y[i,j] do
           begin re:=0; im:=0
           end;
     for i:=1 to 2 do
       begin
         with Zapis[i], y1 do
           begin
             case nam of
               'R': begin re:=1/Par; im:=0
                    end;
               'C': begin re:=0; im:=w*Par
                    end;
             end; {case}
           CAdd  (Y[a,a], y1, Y[a,a]);
           CAdd  (Y[b,b], y1, Y[b,b]);
           Cminus(Y[a,b], y1, Y[a,b]);
           Cminus(Y[b,a], y1, Y[b,a]);
         end; {with}
       end; { for i }
    Y[Ninp, n+1].re:=1;
    for k:=1 to n-1 do
      for i:=k+1 to n do
        begin
           CDiv(Y[i,k], Y[k,k], z);
           for j:=1 to n+1 do
              begin CMult(z, Y[k, j], t); CMinus(Y[i, j], t, Y[i, j])
              end;
      end;{direct step}
    for i:=n downto 1 do {invers step}
       begin
         z:=Y[i,n+1];
         for j:=i+1 to n do
            begin CMult(Y[i, j], Y[j, n+1], t); CAdd(z, t, z)
           end; {sum  for j }
         CDiv(z, Y[i, i], Y[i, n+1]);
       end; { for i }
    Cdiv(Y[Nout, n+1], Y[Ninp, n+1], y1);
    Kvid:=sqrt(sqr(y1.re)+sqr(y1.im));
    Kdb:=20*ln(Kvid)/ln(10);
    writeln('f',m:2,'=',f:7:3,' kGc    K= ', Kvid:5:3,'    Kdb=',Kdb:3:0,' dB');
    f:=f*df
   end; {for m to Nf}
    readln
  end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru