Ir ao conteúdo

Posts recomendados

Postado
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int main()
{
	int x,y;
	double r;
	
	cin >> x >> y;
	
	if(x < y)
		r = pow((x+2*y)/3+x,1/3);
	else if(x = y)
		r = pow(x,3) - x*y + sqrt(y);
	else 
		r = -x + sqrt(x*x-4*y)/2*y;
	
	cout << fixed << setprecision(2);
	cout << r;
	
	return 0;
}

66.png.4b14574e74387bdc8a83d4d45432835f.png

 

Alguém poderia me ajudar a encontrar o erro neste programa não está imprimindo o valor de exemplo 1.53 e sim 1.00.

Postado

@BLN     converta os int em double antes de usar pow , senão causa estouro do operador  '+' , e poderia ser assim :

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cmath>
#include <iomanip>
#include <vector>
using namespace std;

int main()
{
    int x, y;
    double r,aux_x,aux_y;

    cin >> x >> y;
    aux_x = (double)x;
    aux_y = (double)y;
    if (x < y)
        r = pow( (aux_x + 2 * aux_y ) / ( 3 + aux_x ) , 1.0 / 3.0 );
    else 
        if (x = y)
            r = pow( x, 1.0 / 3.0 ) - aux_x * y + sqrt( y );
        else
            r = -x + sqrt( x * x - 4 * y ) / 2 * y;

    cout << fixed << setprecision( 2 );
    cout << r;

    return 0;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!