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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
assasin21rus
2 / 2 / 1
Регистрация: 02.04.2014
Сообщений: 87
#1

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

02.07.2014, 08:35. Просмотров 274. Ответов 7
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
10
11
const p=1;
const x=2.1;
var t,a,b,y:real;
begin
write('t=');
readln(t);
b:=sin(p*p)+Power(x,3);
a:=Power(exp(1), sqrt(abs(x)));
y:=Power(a,3)/Power(b,2);
write('y=',y)
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
5581 / 2615 / 239
Регистрация: 01.11.2011
Сообщений: 6,428
Завершенные тесты: 1
02.07.2014, 10:57     Перевод кода с Pascal #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <math>
#include <iostream>
 
int main()
{ //begin
const p = 1; //const p=1;
const x = 2.1; //const x=2.1;
float t, a, b, y; //var t,a,b,y:real;
 
std::cout << "t="; //write('t=');
std::cin >> t; //readln(t);
b = sin(p*p) + pow(x, 3); //b:=sin(p*p)+Power(x,3);
a = pow( exp(1), sqrt(abs(x)) ); //a:=Power(exp(1), sqrt(abs(x)));
y = pow(a, 3)/pow(b, 2); //y:=Power(a,3)/Power(b,2);
std::cout << "y=" << y; //write('y=',y)
 
std::cin.ignore(2);
return 0;
} //end.
JavaUser
68 / 68 / 15
Регистрация: 06.10.2013
Сообщений: 302
02.07.2014, 11:08     Перевод кода с Pascal #3
Вот ваша программа на с++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
using namespace std;
int main(void)
{
    const float p=1,x=2.1;
    double t=0,a=0,b=0,y=0;
    cout<<"t=";
    cin>>t;
    b=sin(p*p)+pow(x,3);
    a=pow(exp(1),sqrt(abs(x)));
    y=pow(a,3)/pow(b,2);
    cout<<"Y="<<y;
    cin.get();
    return 0;
}
Kerry_Jr
Модератор
Эксперт PHP
2130 / 1926 / 670
Регистрация: 14.05.2014
Сообщений: 5,636
Записей в блоге: 1
Завершенные тесты: 5
02.07.2014, 11:13     Перевод кода с Pascal #4
Цитата Сообщение от JavaUser Посмотреть сообщение
a=pow(exp(1),sqrt(abs(x)));
А почему не
C++
1
a = exp(sqrt(fabs(x)));
?
JavaUser
68 / 68 / 15
Регистрация: 06.10.2013
Сообщений: 302
02.07.2014, 11:26     Перевод кода с Pascal #5
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
А почему не
Хмм. fabs используется в Си.
Но! в С++ (а не Си) abs имеет много перегруженных эквивалентов. Так что так тоже можно
Kerry_Jr
Модератор
Эксперт PHP
2130 / 1926 / 670
Регистрация: 14.05.2014
Сообщений: 5,636
Записей в блоге: 1
Завершенные тесты: 5
02.07.2014, 11:32     Перевод кода с Pascal #6
JavaUser, Я не fabs или abs имел в виду, меня больше интересует зачем вызывать pow(exp(1), sqrt...), если можно epx(sqrt...). Или я ошибаюсь?
JavaUser
68 / 68 / 15
Регистрация: 06.10.2013
Сообщений: 302
02.07.2014, 11:43     Перевод кода с Pascal #7
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Я не fabs или abs имел в виду, меня больше интересует зачем вызывать pow(exp(1), sqrt...), если можно epx(sqrt...). Или я ошибаюсь?
можно вот так написать:
C++
1
a=pow(M_E,sqrt(abs(x)));
где М_Е - константа e, так как ехр(1)=е.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2014, 11:50     Перевод кода с Pascal
Еще ссылки по теме:

Перевод кода с Pascal C++
C++ Перевод кода с Pascal
Перевод кода с Pascal C++
Перевод кода из Pascal в C++ C++
C++ Перевод кода с с Pascal на С++

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

Или воспользуйтесь поиском по форуму:
Kerry_Jr
Модератор
Эксперт PHP
2130 / 1926 / 670
Регистрация: 14.05.2014
Сообщений: 5,636
Записей в блоге: 1
Завершенные тесты: 5
02.07.2014, 11:50     Перевод кода с Pascal #8
Цитата Сообщение от JavaUser Посмотреть сообщение
ехр(1)=е

Не по теме:

Вот это я и имею в виду: раз уж exp(1) = e, то по логике вещей exp(sqrt(abs(x))) = pow(exp(1), sqrt(abs(x))).

Yandex
Объявления
02.07.2014, 11:50     Перевод кода с Pascal
Ответ Создать тему
Опции темы

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