TOPIC
PROBLEM 1012 - URI Fórum 1.0
This topic was solved and cannot recieve new replies.
-
Alex José Silva replied 5 years ago
Resolvido em Linguagem C
int main(){ float a,b,c,tri, cir, quad, trap, ret; scanf("%f %f %f",&a,&b,&c); tri = (a*c)/2; cir = 3.14159*(c*c); trap = ((a+b)*c)/2; quad = b*b; ret = a*b; printf("TRIANGULO: %.3f\n",tri); printf("CIRCULO: %.3f\n",cir); printf("TRAPEZIO: %.3f\n",trap); printf("QUADRADO: %.3f\n",quad); printf("RETANGULO: %.3f\n",ret); return 0; }
-
Jesus Morales Perez replied 4 years ago
#include <iostream> #include <iomanip> using namespace std; int main() { double A,B,C; cin>>A>>B>>C; cout<<fixed; cout<<"TRIANGULO: "<<setprecision(3)<<(A*C)/2<<endl; cout<<"CIRCULO: "<<setprecision(3)<<3.14159*C*C<<endl; cout<<"TRAPEZIO: "<<setprecision(3)<<((A+B)*C)/2<<endl; cout<<"QUADRARO: "<<setprecision(3)<<B*B<<endl; cout<<"RETANGULO: "<<setprecision(3)<<B*A<<endl; return 0; }
ME SALE WRONG ANSWER ME INDICAN PORQUE ? GRACIAS
-
Unknown replied 4 years ago
Os três números estão todos em uma linha, separados por espaços. Quando você faz input() para jogar em a, ele lê toda a linha, e dá erro ao tentar converter para float.
Como input() está trazendo toda a linha digitada, com os valores separados por espaços, você pode usar o método split() para separá-los em um vetor de 3 elementos. Então usar float() em cada um dos elementos, para convertê-los atribuindo a a, b e c.
[size=85:2n10bbul]Links relevantes: Folha de Resumo de Python 3 (pdf) Ler múltiplos valores de uma linha[/size:2n10bbul]
PS: Se você abrir no URI a sua página de Submissões, e clicar no erro (Runtime error), ele deverá exibir uma descrição do erro e o ponto onde ele ocorreu. Com isso fica fácil identificar e corrigir o problema.
-
Douglas replied 4 years ago
Não consigo encontrar o erro ... está dando Runtime, alguém poderia dar uma dica? Obrigado!
double a = 0; double b = 0; double c = 0; a = Convert.ToDouble(Console.ReadLine()); b = Convert.ToDouble(Console.ReadLine()); c = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("TRIANGULO: {0:0.000}", ((a * c) / 2)); Console.WriteLine("CIRCULO: {0:0.000}", (3.14159 * (c * c))); Console.WriteLine("TRAPEZIO: {0:0.000}", (((a + b) * c) / 2)); Console.WriteLine("QUADRADO: {0:0.000}", (b * b)); Console.WriteLine("RETANGULO: {0:0.000}", (a * b));
-
Emerson replied 4 years ago
Já tentei de diversas formas e sempre recebo "Wrong answer (20%)". Alguém poderia me ajudar a encontrar meu erro?
import java.io.IOException; import java.util.Scanner; import java.util.Locale; public class Main { public static void main(String[] args) throws IOException { //altera Locale para evitar problemas com simbolo separador de decimais Locale.setDefault(Locale.ENGLISH); Scanner s = new Scanner(System.in); String input = String.format("%.1f %.1f %.1f", s.nextDouble(), s.nextDouble(), s.nextDouble()); String[] values = input.split(" "); final double pi = 3.14159; double A = Double.parseDouble(values[0]); double B = Double.parseDouble(values[1]); double C = Double.parseDouble(values[2]); System.out.format("TRIANGULO: %.3f", (A * C) / 2.0); System.out.println(""); System.out.format("CIRCULO: %.3f", pi * (C * C)); System.out.println(""); System.out.format("TRAPEZIO: %.3f", (( A + B) * C) / 2.0); System.out.println(""); System.out.format("QUADRADO: %.3f", B * B); System.out.println(""); System.out.format("RETANGULO: %.3f", A * B); } }
-
Unknown replied 4 years ago
Executei o código com o primeiro Exemplo de Entrada e o resultado diverge do Exemplo de Saída correspondente. Verifique se está utilizando as variáveis corretas para cada fórmula...
-
Marcelo Lopes replied 4 years ago
continua do mesmo jeito com o scanner nao modificou em nada o problema na ta area do triangulo mais ate onde sei ta certo o calculo
-
Luiz André Honório Alves replied 4 years ago
Galera, estou tentando enviar a resposta do exercicio 1012 em c# e tá dando wrong answer(10%) porém fiz os testes e todos os resultados batem, alguém pode me dar uma luz aí??
static void Main(string[] args) { //Reescrevendo o valor de PI Double PI = 3.14159; //Criando uma array de string a partir dos espaços string[] Valores = Console.ReadLine().Split(' '); //Separando os valores para suas devidas variáveis Double A = Convert.ToDouble(Valores[0]); Double B = Convert.ToDouble(Valores[1]); Double C = Convert.ToDouble(Valores[2]); //Aplicando as fórmulas de cada item Double areaTriangulo = A * C / 2; Double areaCirculo = PI * Math.Pow(C, 2); Double areaTrapezio = (A + B) * C / 2; Double areaQuadrado = Math.Pow(B, 2); Double areaRetangulo = A * B; //Imprimindo na tela o valor de cada item, formatando a resposta com apenas 3 casas após a vírgula Console.WriteLine("TRIANGULO: " + areaTriangulo.ToString("#.000")); Console.WriteLine("CIRCULO: " + areaCirculo.ToString("#.000")); Console.WriteLine("TRAPEZIO: " + areaTrapezio.ToString("#.000")); Console.WriteLine("QUADRADO: " + areaQuadrado.ToString("#.000")); Console.WriteLine("RETANGULO: " + areaRetangulo.ToString("#.000")); Console.ReadLine(); }
-
Jhonathan Nicolas Silva replied 4 years ago
Boa noite, Alguém poderia me ajudar a descobrir porque está dando WA no meu código? Minha saída está exatamente igual de acordo com o problema.
#include <stdio.h> #include <stdlib.h> int main () { char buffer[20] =""; char resultado[20]=""; int u =0; int i; float A, B, C; scanf("%[^\n]s",&buffer); //Covertendo a string buffer para float em A B e C if(buffer != NULL) { for(i=0;i<19;i++) { if(buffer[i] != ' ' && buffer[i] != '\0'){ sprintf(resultado,"%s%c",resultado,buffer[i]);} else if(buffer[i] == ' ') { if( u == 0){ A = atof(resultado); sprintf(resultado,""); u++; } else{ B = atof(resultado); sprintf(resultado,""); }} else if(buffer[i] == '\0') { C = atof(resultado); break; } }} //Imprimindo Valores printf("TRIANGULO: %.3f\n",(A*C)/2); printf("CIRCULO: %.3f\n",(C*C*3.14159)); printf("TRAPEZIO: %.3f\n", ((A+B)*C)/2); printf("QUADRADO: %.3f\n", (B*B)); printf("RETANGULO: %.3f\n", (A*B)); return 0; }
Outro problema é que no segundo exemplo existe um acento agudo depois da palavra trapézio:
Obrigado!
-
Rodrigo Fioravante replied 4 years ago
Estou resolvendo o meu problema em Python 2.7 e está dando WA (20%). Isso significa que eu errei ou acertei 20%? A saída está completamente certa e o valor dos cálculos está ok, porém não consigo acertar. Tem algum problema com esta questão?
#entrada A, B, C = raw_input().split() A, B, C = [round(float(A), 1), round(float(B), 1), round(float(C), 1)] #execução... #saida print "TRIANGULO: %.3f\n\ CIRCULO: %.3f\n\ TRAPEZIO: %.3f\n\ QUADRADO: %.3f\n\ RETANGULO: %.3f" % (triangle, circle, trapezium, square, rectangle)
Não consigo saber o que tem de errado. Os resultados dos cálculos batem com os inputs oferecidos no exemplo.
-
Gerson Groth replied 4 years ago
Quando você usa
in.readLine()
tu está lendo os três valores de uma só vez (a linha inteira). Considere o uso de Scanner, dessa forma tu conseguirá ler cada double separadamente
in.nextDouble()
-
Marcelo Lopes replied 4 years ago
RUNTIME ERROR Exception in thread "main" java.lang.NumberFormat: at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1250) at java.lang.Double.parseDouble(Double.java:540) at Main.main(Main.java:21) Command exited with non-zero status (1)
import java.io.IOException; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * IMPORTANT: * O nome da classe deve ser "Main" para que a sua solução execute * Class name must be "Main" for your solution to execute * El nombre de la clase debe ser "Main" para que su solución ejecutar */ public class Main { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); double A = 0.00,B = 0.00,C = 0.00; double triangulo = 0.00,circulo = 0.00, trapezio = 0.00,quadrado = 0.00,retangulo = 0.00; double pi = 3.14159; A = Double.parseDouble(in.readLine()); B = Double.parseDouble(in.readLine()); C = Double.parseDouble(in.readLine()); triangulo = (A * B)/2; circulo = (pi * (C * C)); trapezio = ((A + B) * C)/2; quadrado = B * B; retangulo = A * B; System.out.println("TRIANGULO: " + String.format("%.3f", triangulo)); System.err.println("CIRCULO: " + String.format("%.3f", circulo)); System.out.println("TRAPEZIO: " + String.format("%.3f", trapezio)); System.out.println("QUANDRADO: " + String.format("%.3f", quadrado)); System.out.println("RETANGULO: " + String.format("%.3f", retangulo)); } }
-
UBIRAJARA replied 4 years ago
#include<stdio.h> main(){ float a,b,c,t,ci,tp,q,r; float pi=3.14159; scanf("%f %f %f",&a,&b,&c); t=(a*c)/2; printf("TRIANGULO: %.3f\n",t); ci=pi*c*c; printf("CIRCULO: %.3lf\n",ci); tp=((a+b)*c)/2; printf("TRAPEZIO: %.3f\n",tp); q=b*b; printf("QUADRADO: %.3f\n",q); r=(a*b); printf("RETANGULO: %.3f",r); }
o erro que está dando é de 10% wrong answer. se alguem puder ajuda
-
Jordan Basiliskh replied 4 years ago
Alguém consegue encontrar meu erro? Da WA 20%, porém a saída é exatamente igual ao pedido.
#include <stdio.h> int main (void) { double A, B, C, at, cir, trape, quad, ret; scanf("%lf %lf %lf", &A, &B, &C); at = (A * C)/2; cir =(C*C)*3.14159; trape = ((A+B)/2)* C; quad = B*4; ret = A*B; printf("TRIANGULO: %.3lf\n", at); printf("CIRCULO: %.3lf\n", cir); printf("TRAPEZIO: %.3lf\n", trape); printf("QUADRADO: %.3lf\n", quad); printf("RETANGULO: %.3lf\n", ret); return 0; }
-
Terence Marinho replied 4 years ago
MODBoa noite! Parece que seu erro está somente na mensagem "RECTANGULO" (conforme sublinhado), tire esse 'C' que deve passar!
-
Wilmer Garzon replied 4 years ago
SABEN PORQUE ME SALE WRONG ANSWER SI ME ESTA IMPRIMIENDO TAL Y COMO LO PIDE EL PROGRAMA?
include include includeusing namespace std; int main(){ float A,B,C,TRIANGULO,CIRCULO,TRAPECIO,CUADRADO,RECTANGULO; A=B=C=TRIANGULO=CIRCULO=TRAPECIO=CUADRADO=RECTANGULO=0.0f; cin>>A;cin>>B;cin>>C; TRIANGULO=AC/2; CIRCULO=pow(C,2)3.14159; TRAPECIO=((A+B)C)/2; CUADRADO=pow(B,2); RECTANGULO=AB; cout<<fixed; cout<<"TRIANGULO: "<<setprecision(3)<<TRIANGULO<<endl; cout<<"CIRCULO: "<<setprecision(3)<<CIRCULO<<endl; cout<<"TRAPEZIO: "<<setprecision(3)<<TRAPECIO<<endl; cout<<"QUADRADO: "<<setprecision(3)<<CUADRADO<<endl; cout<<"RECTANGULO: "<<setprecision(3)<<RECTANGULO<<endl; return 0; }
-
Felipe Lage replied 4 years ago
Estou tentando fazer esse problema 1012 através funções. Deu erro de compilaçao..alguem poderia ajudar?
include define PI 3.14159//a área do triângulo retângulo que tem A por base e C por altura. int a_triang(float A,float C,float s){ scanf("%f%f",&A,&C); s = (A * C)/2; printf("%.3f\n",s); return 0; }
//b) a área do círculo de raio C. (pi = 3.14159) int a_circ(float C, float s){ scanf("%f",&C); s = PI (CC); printf("%.3f\n",s); return 0; }
//c) a área do trapézio que tem A e B por bases e C por altura. int a_trapezio(float A, float B, float C, float s){ scanf("%f%f%f",&A,&B,&C); s = (A + B)*C/2; printf("%.3f\n",s); return 0; }
//d) a área do quadrado que tem lado B. int a_quad(float B, float s){ scanf("%f",&B); s = B*B; printf("%.3f\n",s); return 0; }
//e) a área do retângulo que tem lados A e B. int a_ret(float A,float B,float s){ scanf("%f%f",&A,&B); s = A*B; printf("%.3f\n",s); return 0; }
int main(){ float A,B,C; //entre com tres valores para A,B,C; scanf("%f%f%f",&A,&B,&C); a_triang(); a_circ(); a_trapezio(); a_quad(); a_ret();
return 0; }
-
Luiz Alexandre França replied 4 years ago
Desistindo de usar o URI. Já fiz tudo quanto é alteração e mesmo assim ainda aparece WA.
string = input() string = string.split(" ") A = round(float(string[0]),1) B = round(float(string[1]),1) C = round(float(string[2]),1) pi = 3.14159 triangulo = (A * C) / 2 circulo = pi*(C**2) trapezio = ((A+B) * C) / 2 quadrado = B * B retangulo = A * B print("TRIANGULO: {:.3f}".format(triangulo)) print("CIRCULO: {:.3f}".format(circulo)) print("TRAPEZIO: {:.3f}".format(trapezio)) print("QUADRADO: {:.3f}".format(quadrado)) print("RETANGULO: {:.3f}".format(retangulo))
-
Crisman Penalva Santos replied 4 years ago
Galera, alguém pode me ajudar? Já tentei varias formas e sempre dá resposta errada. Meu código está assim:
int main(){ char line[100]; char* a; char* b; float A,B,C; gets(line); A=strtof (line,&a); B=strtof (a,&b); C=strtof (b,NULL); setlocale(LC_ALL, "Portuguese"); printf("TRIÂNGULO: %0.3f\n", ((A*C)/2)); printf("CÍRCULO: %0.3f\n", ((3.14159)*C*C)); printf("TRAPÉZIO: %0.3f\n", ((A+B)*C)/2.0); printf("QUADRADO: %0.3f\n", (B*B)); printf("RETÂNGULO: %0.3f\n", ((A*B))); return 0; }