0 / 0 / 0
Регистрация: 01.12.2013
Сообщений: 7
1

Перевести код математической функции с паскаля

04.06.2014, 18:26. Показов 1904. Ответов 7
Метки нет (Все метки)

Здравствуйте, есть функция написана в паскале:
Pascal
1
2
3
4
function g (a,b :real) : real
begin 
result:=(sqr(a)+sqr(b))/(sqr(a)+2*a*b+3*sqr(b)+4;
end.
Нужно описать эту функцию в C++ builder.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2014, 18:26
Ответы с готовыми решениями:

Перевести код математической функции с паскаля В C++ Builder
Есть программа в паскале нужно переделать в С++ Builder, помогите, заранее спасибо. var a :...

Каким образом можно перевести код Паскаля в код Фортран?
Здравствуйте уважаемые программисты! Может быть банальная, но довольно сложная проблема - перевод...

Как перевести код с паскаля на Java. Пытался сам но код не хочет работать переведенный
А сам код на паскале работает. Вот код на паскале var i,j,m,c,d: integer; A:array of...

Перевести код с Паскаля
Программа из строки символов удаляет символы, которые отличаются от русских букв и пробелов. Я бы и...

7
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32485 / 20971 / 8114
Регистрация: 22.10.2011
Сообщений: 36,240
Записей в блоге: 7
04.06.2014, 18:42 2
У тебя в Паскалевском варианте не хватает одной скобки, если что...
C++
1
2
3
4
double g(double a, double b)
{
    return (a*a+b*b)/(a*a+2*a*b+3*b*b+4);
}
1
0 / 0 / 0
Регистрация: 01.12.2013
Сообщений: 7
04.06.2014, 19:10  [ТС] 3
Спасибо, пробовал также, при компиляции выдает ошибку
C
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include "Unit1.h"
#include <iostream>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#pragma argsused
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float s,t,r;
double g(double a, double b)
{ - Вот тут ошибка типа что не стоит ";"
    return (a*a+b*b)/(a*a+2*a*b+3*b*b+4);
}
 
 
 
 
 {
 s=5;
 t=3;
 r= functiong(1,2,s)+functiong(t,s)-functiong(2*s-1,s*t);
Label1->Caption = r;
 }
}
//---------------------------------------------------------------------------
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32485 / 20971 / 8114
Регистрация: 22.10.2011
Сообщений: 36,240
Записей в блоге: 7
04.06.2014, 19:15 4
Лучший ответ Сообщение было отмечено talne-programis как решение

Решение

Функция должна быть перед методом, а не внутри него:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
double g(double a, double b)
{
    return (a*a+b*b)/(a*a+2*a*b+3*b*b+4);
}
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    float s,t,r;
    s=5;
    t=3;
    r= g(1,2,s)+ // Тут будет ошибка, g принимает ДВА параметра, а ты передаешь ТРИ
        g(t,s)-g(2*s-1,s*t); 
    Label1->Caption = r;
}
1
0 / 0 / 0
Регистрация: 01.12.2013
Сообщений: 7
04.06.2014, 20:15  [ТС] 5
Большое спасибо, буду знать, по паскалю знаю, а вот в c++, только учусь не судите строго. Но сейчас там где вы пометили выдает ошибку даже когда ставлю два параметра. Чтобы вы полностью понимали суть задачки, то она здесь:
http://abramov.org.ua/blog/2012/10/zadacha-425/

Добавлено через 23 минуты
Ошибку нашел, спасибо.

Добавлено через 26 минут
Простите еще раз, в чем здесь проблема:
C
1
2
3
4
5
6
float max(float x, float y, float z)
{
       if (x >= y & x>=z)
        {  max=x  } ;
     return 0 ;
}
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.06.2014, 22:07 6
C++
1
2
3
4
5
6
#include <cmath>
 
float max(float x, float y, float z)
{
     return std::max( x, std::max(y,z) );
}
1
0 / 0 / 0
Регистрация: 01.12.2013
Сообщений: 7
04.06.2014, 22:22  [ТС] 7
Спасибо, но не могли бы вы подробней описать что за что там отвечает, у меня просто это только часть кода по этому нужно знать что дописать.
Я самоучка, а информации об функциях много найти не могу, вот весь код по поводу функций.
C
1
2
3
4
5
6
7
8
9
function max(x,y,z: real): real;
 begin
    if (x>=y) and (x>=z) then
      max:=x;
    if (y>=x) and (y>=z) then
      max:=y;
    if (z>=x) and (z>=y) then
      max:=z;
 end<;
Добавлено через 4 минуты
Я правильно понял мысль?
C
1
2
3
4
5
6
  float max(float x, float y, float z)
{
     return std::max( x, std::max(y,z) );
     return std::max( y, std::max(x,z) );
     return std::max( z, std::max(x,y) );
}
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.06.2014, 00:32 8
Цитата Сообщение от talne-programis Посмотреть сообщение
Я самоучка
Вот бери книжку и учи С++.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2014, 00:32
Помогаю со студенческими работами здесь

Перевести код с паскаля на C#
Доброго времени суток. Пытаюсь перевести этот код на С#, но немного запутался в циклах, слишком уж...

Перевести код с паскаля на C++
По заданному натуральному числу N необходимо вычислить количество натуральных чисел, которые...

Перевести код с паскаля
Помогите перевести простой алгоритм сортировки в современное консольное приложение на C#...

перевести код с паскаля на С++
Доброго времени суток! у меня большая просьба: имеется код на паскале, программа, которая рисует...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru