TOPIC

PROBLEM 1011 - URI Fórum 1.0

URI Online Judge asked 7 years ago

URI Online Judge Fórum 1.0

MOD

This topic was solved and cannot recieve new replies.

  • Thyels Humberto Souza de Carvalho replied 4 years ago

    Galera, não estou entendendo porque o URI não está aceitando meu código, alguém mais experiente podeira me ajudar? Desde já agradeço!

    #include <stdio.h>
    #include <math.h>
    #define pi 3.14159
    
    main (){
    
        int R;
        double VOLUME;
    
        scanf("%d", &R);    
    
        VOLUME = (4 / 3.0) * pi * pow(R,3); 
    
        printf("VOLUME = %.3lf\n", VOLUME);
    
        return 0;
    }
  • Gerson Groth replied 6 years ago

    Teste com o terceiro caso. Pra mim, tua saída foi:

    VOLUME = -3193215241.627

    Obs: sempre poste teus códigos entre as tags code...

  • Gustavo Marini replied 3 years ago

    Primeiro de tudo, sempre que for trabalhar com variáveis decimais aqui no portal, defina elas como double. Além de possuírem mais capacidade, funcionam em 100% dos problemas daqui.

    O segundo problema do seu código está na linha de saída, observe que você colocou um espaço adicional no início da palavra "VOLUME".

    E, por último, você esqueceu de definir a precisão do seu valor de saída. Como você já está com a biblioteca incluída, basta apenas modificar a linha de output para:

    cout << fixed << setprecision(3) << "VOLUME = " << volume << endl;

    fazendo assim, com que o seu código imprima 3 casas decimais após o ponto.

    MOD
  • Fernanda Camilo replied 3 years ago

    Tá dando que o meu tá 80% errado, não sei oq errei

    include include include

    using namespace std;

    define pi 3.14159

    int main () { double R; float volume; cin >> R; volume = (4.0/3)pipow(R,3); cout << " VOLUME = " << volume << endl;

    return 0;

    }

  • Gustavo Marini replied 4 years ago

    Tente trocar a linha de saída por:

    cout << "VOLUME =  " << fixed << setprecision(3) << volume << "\n";

    e retire as linhas:

    cout.precision(3);
    cout.setf(ios::fixed);

    Para a linha de saída não dar nenhum erro, adicione a biblioteca "iomanip".

    MOD
  • Luan replied 4 years ago

    include include include

    using namespace std;

    int main() { double raio; double pi=3.14159; double volume;

    cin >> raio;
    
    volume = ((4.0/3)*pi*pow(raio,3));
    
    cout.precision(3);
    cout.setf(ios::fixed);
    
    cout << "VOLUME =  " << volume << "\n";
    
    return 0;

    }

    Está aparecendo "Presentation error"

  • Luan replied 4 years ago

    include include include

    using namespace std;

    int main() { double raio; double pi=3.14159; double volume;

    cin >> raio;
    
    volume = ((4.0/3)*pi*pow(raio,3));
    
    cout.precision(3);
    cout.setf(ios::fixed);
    
    cout << "VOLUME =  " << volume << "\n";
    
    return 0;

    }

    Está aparecendo "Presentation error"

  • Gustavo Marini replied 4 years ago

    "O arquivo de entrada contém um valor de ponto flutuante (dupla precisão), correspondente ao raio da esfera."

    Troque "int R" por "double R". Isso deve resolver. E se acontecer algum outro erro, tente trocar "float PI" por "double PI".

    MOD
  • Unknown replied 4 years ago

    O programa executa normalmente, compila normalmente, exibe os resultados corretos, porém o URI ainda diz que ele não está correto:

  • Terence Marinho replied 4 years ago

    Bom dia! Testei seu código para a entrada 1523 e ele retornou -3193215232.000, quando deveria retornar 14797486501.627. Parece ser um simples problema de precisão, então sugiro que utilize variáveis double ao invés de float. E troque a expressão (RRR) pela função pow() da biblioteca math.h. E se puder definir uma variável pra armazenar o valor de pi, pode ficar melhor (essa mesma biblioteca tem uma constante que guarda esse valor, M_PI). Espero que te ajude!

    MOD
  • Adriano H replied 4 years ago

    meu codigo ta errado porque?

    include

    int main() { int R; float VOLUME; scanf("%d",&R); VOLUME=(4.0/3)3.14159(RRR); printf("VOLUME = %.3f\n",VOLUME); return 0; }

    obrigado galera

  • Terence Marinho replied 4 years ago

    Boa tarde! Sua saída está incompleta, deveria ser %3lf.

    MOD
  • Vinicius Mazzeo replied 4 years ago

    Só me expliquem o pq não está aceitando o meu código.

    #include <stdio.h>
    #include <stdlib.h>
    
    int main (){
    
        int R;
        double volume, pi;
        //O arquivo de entrada contém um valor inteiro, correspondente ao raio da esfera.
        scanf("%d", &R);
    //Considere (atribua) para pi o valor 3.14159
        pi = 3.14159;
        volume = (4 / 3.0) * pi * (R * R * R);
       // A saída deverá ser uma mensagem "VOLUME" conforme o exemplo fornecido abaixo, com um espaço antes e um            //espaço depois da igualdade. O valor deverá ser apresentado com 3 casas após o ponto.
        printf("VOLUME = %.3f\n", volume);
    
        system("pause >> null");
    
    }
  • Terence Marinho replied 4 years ago

    Utiliza a função pow(double a, double b) da biblioteca math, conforme as mensagens anteriores.

    MOD
  • Andre Alves de Araujo replied 4 years ago

    O programa ta dando WA.Alguem pode ajudar?

    include

    int main() {

    int r;
    double pi,volume;
    pi=3.14159;
    scanf("%d",&r);
    volume=pi*r*r*r*(4.0/3.0);
    
    printf("VOLUME = %.3lf\n",volume);
    
    return 0;

    }

  • João replied 4 years ago

    Use a função pow.

  • Matheus Augusto replied 4 years ago

    Erro ?

    int main() {
    
        int r;
       double pi, VOLUME;
       pi=3.14159;
       scanf("%d", &r);
       VOLUME = ((4.0/3)*pi*(r*r*r));
       printf("VOLUME = %.3lf\n", VOLUME);
        return 0;
    }
  • João replied 4 years ago

    Use a função pow da math.h no lugar de RAIORAIORAIO que vai passar.

    http://www.cplusplus.com/reference/cmath/pow/
  • Viviane de Lima replied 4 years ago

    POSTEI NO URI DESSA FORMA E ELE RECUSOU, NÃO ENTENDI

    int RAIO;
    double VOLUME,CALCRAIO;
    double PI;
    
    PI = 3.14159;
    
    scanf ("%d", & RAIO);
    
    CALCRAIO = (RAIO * RAIO * RAIO);
    
    VOLUME = (4 / 3.0) * PI * CALCRAIO;
    
    printf("VOLUME = %.3lf\n", VOLUME);
  • Viviane de Lima replied 4 years ago

    Tentei usar double mas não compila no DEVC++, dai nem tem como eu saber se está realmente correto.

1 of 6