TEMA

PROBLEM 1116 - URI Fórum 1.0

URI Online Judge preguntado 8 years ago

URI Online Judge Fórum 1.0

MOD

Este tema fue resuelto y no puede recibir nuevas respuestas.

  • Lucas Aranha respondido 4 years ago

    Qual o problema com meu código? Dá W.A (20%)

    #include <stdio.h>
    int main () {
        int x,y;
        double calc;
        int i=0,j;
    
        scanf("%d", &j);
        while (i<j) {
            scanf("%d %d",&x,&y);
            if ((x<0 && y==0) || (y<0 && x==0)) printf("divisao impossivel\n");
            else {
            calc = (double)x/(double)y;
            printf("%.1lf\n", calc);
            }
    
        }
        ++i;
    }
  • Gustavo Marini respondido 4 years ago

    Primeiro de tudo, o "++i" deve ir dentro do laço while, então passe o "i" pra cima. E por segundo, a divisão só é impossível se o y for igual a 0, então troque a linha:

    if ((x<0 && y==0) || (y<0 && x==0)) printf("divisao impossivel\n");

    por:

    if (y==0) printf("divisao impossivel\n");
    MOD
  • Gabriel Neves respondido 4 years ago

    Gostaria de saber qual é o erro que está no meu codigo :/

    Ling. Ruby

    num = gets.to_i for num in (1 .. num) x , y = gets.to_i, gets.to_i if y == 0 puts "divisao impossivel" else resultado = x.fdiv(y) puts "%.1f" % [resultado] end end

  • obede silva respondido 4 years ago

  • Terence Marinho respondido 4 years ago

    Boa tarde, zennom! Seu código está retornando uma valor inteiro mesmo em casos que a divisão não é exata (o enunciado do programa tem uma observação sobre isso). Ex.: 3 / -2 está retornando 1.0 (porque são dois int, logo trata o resultado como int também), quando deveria retornar 1.5. Você pode, conforme o enunciado, usar conversões de tipos ou operador de molde ou cast pra corrigir isso -> https://aprenderac.wordpress.com/2015/0 ... e-ou-cast/ Espero que te ajude!

    MOD
  • Debugger respondido 4 years ago

    alguem me ajuda ... meu codigo ta dando "Runtime Error"

    N = int(input())
    
    L1 = input().split()
    x, y = L1
    
    for i in range(N):
        if (int(y) == 0):
            print("divisao impossivel")
            L1 = input().split()
            x, y = L1
    
        else:
            divisao = int(x)/int(y)
            print("%.1f" %divisao)
            L1 = input().split()
            x, y = L1
  • Viviane de Lima respondido 4 years ago

    Boa tarde pessoal,

    alguem sabe qual seria o meu erro? dá 40% wrong answer

    #include <stdio.h>
    
    main() 
    
    {
        int N,CONTADOR;
        int X,Y;
    
        double CONT;
    
        CONTADOR = 0;
        CONT = 0;
    
        scanf ("%d", & N);
    
        while (CONTADOR<N)
        {
    
        scanf ("%d", & X);
        scanf ("%d", & Y);
    
        if (Y != 0)
        {
            CONT= X/Y;
    
            printf ("%.1lf\n",CONT);
        }
    
       if (Y == 0)
        {
    
            printf ("divisao impossivel\n");
        }
    
        CONTADOR++;
    
        }
    
        return 0;
    
    }

    agradeço quem puder me ajudar :D

  • Anthony respondido 5 years ago

    Alguém pode me ajudar? Estou recebendo "Runtime Error"

    #include <stdio.h>
    #include <stdlib.h>
    
    int main ()
    
    {
        int n,i;
        float f[1000];
        scanf("%d", &n);
        for(i=0;i<n*2;i++){
            scanf("%f", &f[i]);
        }
        for(i=0;i<n*2;i+=2){
            if(f[i+1]==0)
                printf("divisao impossivel\n");
            else
                printf("%.1f\n", f[i]/(f[i+1]));
        }
    return 0;
    
    }
  • Alex José Silva respondido 5 years ago

    resolvido em C: http://codepad.org/o74a3YrO

    #include <stdio.h>
    
    int main() {
    
        int i,N;
     float X,Y;
    
     scanf("%i",&N);
    
     for(i=0; i<N; i++){
        scanf("%f %f",&X,&Y);
    
        if(Y==0)
            printf("divisao impossivel\n");
        else{
            printf("%.1f\n",X/Y);
        }
     }
    
        return 0;
    }
  • Alex José Silva respondido 5 years ago

    RESOLVIDO:

    CODING: http://codepad.org/T7zVQNnm

    #include <stdio.h>
    
    int main() {
    
       int i,N,X,Y;
    
     scanf("%i",&N);
    
     for(i=0; i<N; i++){
        scanf("%f %f",&X,&Y);
    
        if(Y==0)
            printf("divisao impossivel\n");
        else{
            printf("%.1f\n",X/Y);
        }
     }
    
        return 0;
    }
  • Flavio Henrique respondido 6 years ago

    import java.util.Locale; import java.util.Scanner;

    public class Prog1116 {

    public static void main(String[] args) {
        Locale.setDefault(Locale.US);    
        Scanner scan = new Scanner(System.in);
    
        int q = scan.nextInt(); 
        float x;
        float y;
        double d = 0;
    
        for( int n = 0; n <= q; n++ ){
             x = scan.nextFloat();
             y = scan.nextFloat();         
    
            if( y != 0 ){
            d = x/y;
            System.out.printf("%.1f\n",d);
            d = 0;
            }else {
                System.out.println("divisao impossivel");
                }
    
        scan.close();
      }
    }

    } // Run time error

  • Jadson José Monteiro Oliveira respondido 6 years ago

    Olá Thiago Fukuoka, tudo bem? Sua saída deve gerar exatamente o que o Output do problema solicita. Dica: Procure um espaço desnecessário que você está colocando depois da saída.

  • Thiago Fukuoka respondido 6 years ago

    Ola pessoal, o meu código roda normalmente as saídas saem certinho porém esta dando Presentation Error. Alguem sabe o que pode ser?

    Dúvida respondida. Código removido!
  • Gerson Groth respondido 6 years ago

    Talvez usando assim funcione:

    DecimalFormat df = new DecimalFormat("0.0");
  • Rodrigo Fabiam respondido 6 years ago

    Meu codigo esta dando o resultado correto, mas ao submeter dá Wrong answer. Alguem consegue ver o que pode estar errado?

    InputStreamReader ir = new InputStreamReader(System.in);
            BufferedReader in = new BufferedReader(ir);
            DecimalFormat df = new DecimalFormat("#.0");
            int n, i, n1, n2;
            String linha;
            double result;
    
            n = Integer.parseInt(in.readLine());
            for(i=0; i<n; i++){
                linha = in.readLine();
                String vet[] = linha.split(" ");
                n1 = Integer.parseInt(vet[0]);
                n2 = Integer.parseInt(vet[1]);
                if (n2==0) {
                    System.out.printf("divisao impossivel\n");
                }else{
                    if (n1!=0){
                        result = (double) n1/n2;
                        String saida;
                        saida = df.format(result);
                        System.out.printf("%s\n", saida);
                    }else{
                        System.out.printf("0.0\n");
                    }
                }
            }
        }
    }
  • Gerson Groth respondido 6 years ago

    Porque os valores de a e b não são exclusivamente inteiros. Use "nextDouble" que não irá mais ocasionar esse erro. Você terá outros pequenos detalhes para corrigir depois disso ;)

  • André Carlos respondido 6 years ago

    Eu já tentei de tudo, e ele acusa possible rumtimeerror !

    import java.util.Locale;
    import java.util.Scanner;
    import java.text.DecimalFormat;
    public class Main {
    
        public static void main(String[] args) {
    
            Scanner input  = new Scanner(System.in);
            Locale.setDefault(Locale.US);
            DecimalFormat df = new DecimalFormat("0.0");
            int n;
            double a, b;
            n = input.nextInt();
    
            for (int i = 0; i <= n; i++) {
                a = input.nextInt();
                b = input.nextInt();
                if(b == 0){
                    System.out.println("divisao impossivel");
    
                }
    
                System.out.println( df.format (a/b));
    
            }
    
        }
    
    }
  • David Joshua respondido 6 years ago

    Encontrei o erro não tinha compreendido o enunciado, obrigado.

  • Erich Rodrigues respondido 6 years ago

    Olá, leia atentamente o enunciado, e teste com a seguinte entrada:

    1
    10 -3

    Obs: Quando for postar algum código, coloque-o entre as tags code, isso ajuda a manter o fórum organizado.

    MOD
  • David Joshua respondido 6 years ago

    Olá, meu resultado está certo mas recebi Wrong answer, alguém poderia dizer o que está errado?

    Resolvido