TOPIC

PROBLEM 1154 - URI Fórum 1.0

URI Online Judge asked 8 years ago

URI Online Judge Fórum 1.0

MOD

This topic was solved and cannot recieve new replies.

  • Alex José Silva replied 5 years ago

    Alguém poderia informar o que tem de errado neste código. Ele recebe 100 wrong!!!

    #include <stdio.h>
    
    int main() {
    
      int num,total=0,soma=0;
      float media;
    
       do{
    
            scanf("%i",&num);
    
            if(num>0){
              total++;
              soma=+num;
            }
    
       }while(num>0);
    
           media = soma/total;
           printf("%.2f\n",media);
    
        return 0;
    }
  • Gabriel Morais Barbosa replied 6 years ago

    Dica...

    Inteiro dividido por inteiro da inteiro.

    Espero ter ajudado. Flw.

  • Guilherme replied 6 years ago

    O que tem de errado no meu código?

    import java.util.Locale;
    import java.util.Scanner;
    
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /**
     *
     * @author Guilherme
     */
    public class Uri1154 {
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // TODO code application logic here
            Locale.setDefault(Locale.US);
            Scanner scanner = new Scanner(System.in); 
            int count = 0,idade = 0,soma = 0;
            double media= 0;
            while (idade >= 0) 
            {            
                idade = scanner.nextInt();
               if(idade >= 0)
                    soma = soma + idade;
               if (idade > 0)
                {
                     count++;
                }
    
            };
            media = soma/count;
            System.out.printf("%.2f\n", media);
        }
    
    }
  • Gabriel Morais Barbosa replied 6 years ago

    Iae Igor beleza?

    Tenta com essa entrada aqui

    20 20 20 0 20 -2

    A saída correta tem que ser 20.00;

    Se conseguir resolver isso seu código passará.

    Espero ter ajudado. flw.

  • Igor Cortes Junqueira replied 6 years ago

    Não sei o que está errado no meu código, o resultado está dando certo:

  • Thais Cardoso replied 6 years ago

    Obrigado,não tinha percebido.Deu certo agora.

  • Erich Rodrigues replied 6 years ago

    Você não inicializou a variável "X", então o seu código nem vai entrar no while principal.

    MOD
  • Thais Cardoso replied 6 years ago

    Não entendi o que tá errado,tá dando WA 100%

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main(){
        double X,T,S;
        S=T=0;
    
        while(X>=0){
            cin >> X;
            if(X>0){
                S=S+X;
                T+=1;
            }
    
        }
        cout << setprecision(2)<<fixed<< S/T<< endl;
    }
  • luicandim replied 6 years ago

    quando coloco os valores 45 46 12 0 16 34 = 153 e a media e = 25.5

    o toolkit me diz que o resultado da media é = 34.33

    ????????    como ???
  • Daniel Santos replied 6 years ago

    '\n' dps de printar media

  • Michelle Rojas replied 6 years ago

    Qual é o meu erro ? O que há de errado,recebendo "Presentation error " Agradeço antecipadamente :)

    #include <iostream>
    #include <stdio.h>
    using namespace std;
    
    int main(){
        double ages, suma = 0;
        int contador = 0;
        cin >> ages;
    
        while(ages >= 0){
            if(ages > 0){
            contador += 1;
            suma += ages;
            }
            cin >> ages;
    
        }
    
        double media = suma / contador;
        printf ("%.2f", media);
    
    return 0;
    }
  • Gerson Groth replied 6 years ago

    Faltou inicializar o x para entrar no while...

  • Brendo Gabriel Meireles replied 6 years ago

    O que há de errado,recebendo Wa 100%

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      int x,cont;
      float media;
    
      media=0;
      cont=0;
    
      while(x>=0)
      {
          scanf("%d",&x);
          if(x<0)
            x=-5;
          if(x>=0){
          cont=cont+1;
          media=media+x;
          }
    
      }
    
      media=media/cont;
    
      printf("%.2f\n",media);
    
        return 0;
    }
  • Wyllian Brito replied 6 years ago

    veja a descrição: "A média deve ser impressa com dois dígitos após o ponto decimal."

  • Julio Alexander Sieg replied 6 years ago

    Errado porque, se o resultado está certo ?!

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String args[]) {
            Scanner e1 = new Scanner(System.in);
    
            Integer cont = 0;
            float total = 0;
            float mostra;
    
            boolean status = true;
    
            while(status == true){
                Integer n = Integer.parseInt(e1.nextLine());
                if (n < 0){
                    status = false;
                    break;
                }
                cont = cont+1;
                total = total + n;
            }
    
            mostra = (float)total/cont;
    
            System.out.println(mostra);
    
        }
    }
  • Fernando Fonseca replied 6 years ago

    Na verdade, deveria ser 39 / 4, já que são dados 4 inteiros (10, 10, 0 e 19).

    O que o toolkit faz é sair do loop quando encontra um 0, e aí calcula a média só dos dois primeiros números (10 e 10). Isso provavelmente não está correto, já que o problema especifica que é para parar só quando for encontrada uma entrada negativa.

    De qualquer forma, não aparecem zeros na entrada de verificação desse problema, então seu programa deve ser aceito sem importar como você lida com eles.

  • Rodrigo Fabiam replied 6 years ago

    Pessoal, Qual deveria ser a resposta para essa entrada? 10 10 0 19 -3

    Nao seria 39 / 3? Porque o toolkit ta dizendo que a media eh 10.

  • Wyllian Brito replied 7 years ago

    @VítorLG Não use "system ("pause");" ao enviar sua solução para o URI

  • Vítor Luís Gonçalves Silva replied 7 years ago

    O que tem de errado com este código:

    include include

    int main () { int idade, total = 0, i, auxiliar = 0; double resp; while (idade > 0) { for (i = 0; idade > 0; ++i) { scanf ("%d", &idade); if (idade > 0) { auxiliar = auxiliar + 1; total = total + idade; resp = ((double)total / auxiliar); } } } printf ("%.2lf\n", resp); system ("pause"); return (0); }

  • Andre Luiz Defaveri replied 7 years ago

    Apenas mudei para do..while e funcionou muito obrigado.

2 of 4