Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2012, 21:28   #1
spinogryz_ua
Форумчанин
 
Аватар для spinogryz_ua
 
Регистрация: 14.01.2012
Сообщений: 150
Смех Трансформация (pascal - C++)

Добрый вечер!

Может ли кто то перевести вот эту програму на язык С++?

Код:
uses crt;
 var d,x,a,b,c,min,max : real;
  n:integer;
   begin
   
    writeln('ввести а,b,c');
    read(a,b,c);
    x:=a ;
    min:=1000;
    max:=-1000;
    writeln('    x       f(x)   n');
    writeln;
     repeat
     if x<1 then begin
     d:=sqr(sin(abs(ln(abs(x+exp(x)))))/cos(abs(ln(abs(x+exp(x))))));
     n:=1
    end
     else
      if x>2 then
       begin
       d:=5*sqr(sin(x))+cos(sqr(x)*x);
       n:=3 end
       else begin
       d:=sqr(ln(x+1.2)/(exp(x)+1))-10e-3;
        n:=2 end;
        writeln(x:7:4,d:10:4,n:3);
        if d>max then max:=d else
        if d<min then min:=d;
        x:=x+c;
        until x>b;
        writeln('max=',max:6:2,'    ','min=',min:6:2);
        end.
Заранее огромное спасибо!!!
spinogryz_ua вне форума Ответить с цитированием
Старый 30.03.2012, 22:17   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Вот, правда писал на Си (но, вроде, различий нет - если это не так, то кто-нибудь поправит)
Код:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double d,x,a,b,c,min,max;
int n;

inline double Sqr(double x) {return x*x;}

int
main(void)
{
	printf("Vvedite a, b, c\n");
	scanf("%lf%lf%lf",&a,&b,&c);
	x=a;
	min=1000;
	max=-1000;
	printf("    x       f(x)   n\n\n");
	do
	{
		if (x<1)
		{
			d=Sqr(sin(abs(log(abs(x+exp(x)))))/cos(abs(log(abs(x+exp(x))))));
			n=1;
		}
		else
		if (x>2)
		{
			d=5*Sqr(sin(x))+cos(x*x*x);
			n=3;
		}
		else
		{
			d=Sqr(log(x+1.2)/(exp(x)+1))-10e-3;
			n=2;
		}
		printf("%7.4lf%10.4lf%3.d\n",x,d,n);
		if (d>max)
			max=d;
		else
		if (d<min)
			min=d;
		x+=c;
	}
	while (x<=b);
	printf("max=%6.2lf    min=%6.2lf\n",max,min);
    return 0;
}
Проверьте перед использованием
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 30.03.2012, 23:22   #3
spinogryz_ua
Форумчанин
 
Аватар для spinogryz_ua
 
Регистрация: 14.01.2012
Сообщений: 150
По умолчанию

Что значит вот эта строка?
Код:
inline double Sqr(double x) {return x*x;}
spinogryz_ua вне форума Ответить с цитированием
Старый 30.03.2012, 23:30   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Это значит что тело данной функции подставится в место вызова этой самой функции!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 30.03.2012, 23:58   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Извините, допустил ошибку
(уже 2 раз ее делаю - abs возвращает целое)
Код:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double d,x,a,b,c,min,max;
int n;

inline double Sqr(double x) {return x*x;}

int
main(void)
{
	printf("Vvedite a, b, c\n");
	scanf("%lf%lf%lf",&a,&b,&c);
	x=a;
	min=1000;
	max=-1000;
	printf("    x       f(x)   n\n\n");
	do
	{
		if (x<1)
		{
			d=Sqr(sin(fabs(log(fabs(x+exp(x)))))/cos(fabs(log(fabs(x+exp(x))))));
			n=1;
		}
		else
		if (x>2)
		{
			d=5*Sqr(sin(x))+cos(x*x*x);
			n=3;
		}
		else
		{
			d=Sqr(log(x+1.2)/(exp(x)+1))-10e-3;
			n=2;
		}
		printf("%7.4lf%10.4lf%3.d\n",x,d,n);
		if (d>max)
			max=d;
		else
		if (d<min)
			min=d;
		x+=c;
	}
	while (x<=b);
	printf("max=%6.2lf    min=%6.2lf\n",max,min);
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Трансформация (Pascal, C++) spinogryz_ua Помощь студентам 1 22.02.2012 11:06
Трансформация битмапа в DirectX ds.Dante Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 03.02.2012 14:39
Трансформация изображения свр Общие вопросы по Java, Java SE, Kotlin 0 24.08.2010 14:23
Трансформация изображений Артэс Свободное общение 27 14.12.2009 10:27