Ir ao conteúdo

Posts recomendados

Postado

3 - Escreva um programa que leia números positivos do teclado, até que o número zero seja digitado. Após, o programa deverá exibir um relatório na tela descrevendo os seguintes itens:

 

a) Quantos números foram lidos.

b) O maior numero lido.

c) A média dos números lidos.

d) O menor número ímpar lido (caso algum número ímpar tenha sido digitado).

e) A quantidade de vezes que cada número ocorreu. Exemplo: "O número 7 ocorreu 2 vezes." "O número 13 ocorreu 8 vezes".

 

Console.WriteLine("Digite um valor e digite 0 pra saber as estátisticas:");

 List<int> listaNuns = new List<int>();
 List<int> listaFiltrada = new List<int>();

int num ;


do
{
    num = int.Parse(Console.ReadLine());
      
    if(num !=0 && num >0 ){

     listaNuns.Add(num);    
    }
}while(num !=0 && num > 0 ) ;


 foreach(var listaN in listaNuns )
 {
     if(listaN % 2 != 0){
         listaFiltrada.Add(listaN);
     }
 }
 if(listaNuns.Count > 0){



int maiorValor = listaNuns.Max();
int soma = listaNuns.Sum();
int total = listaNuns.Count;
int media = soma / total ;




Console.WriteLine();
Console.WriteLine("****** Relatório ******");
Console.WriteLine();
Console.WriteLine($"Foram lidos {total} número .");
Console.WriteLine($"O maior valor lido é o {maiorValor}.");
Console.WriteLine($"A média dos números lido é {media}.");
if(listaFiltrada.Count > 0){
    int menorImpar = listaFiltrada.Min();
Console.WriteLine($"O menor valor ímpar lido é {menorImpar}");
}else {Console.WriteLine("Não existe número ímpar");}


}
else
{
 Console.WriteLine("Nenhum número foi lido");
}

 

 

Consegui realizar todas as letras menos a "e", alguém tem algum palpite?

  • Curtir 1
Postado

Olá, tudo bem? Espero que esteja bem.

 

* Tenho duas suposições.

Talvez interessa os recursos na linguagem de programação para responder à pergunta e não escrever uma solução explicita. Do contrário, interessa a uma solução explicita de classificação e não usar uma combinação de métodos do objeto List de C#.

 

            * Buscar na documentação C# uma solução que retorne a sub-lista das repetições e com ela determinar as ocorrências e o número de ocorrências.

            * Iterar a List e no processo usar vetor auxiliar com capacidade igual ao último índice dela e garantir a contagem que não repete o incremento de ocorrências de um número. Para esse objetivo, atribuir valor lógico nos índices do vetor auxiliar após cada nova contagem e ocorrência de valor, uma indicação (lógica) de que o índice da ocorrência será ignorado na próxima contagem.

 

Sugestões.

🙂 

  • Obrigado 1
Postado

@Max212    imagino que você possa usar um contador ao pesquisar na "List"  , que faça a contagem de vezes que determinado número apareceu na list ,  e ir deletando eles a medida que terminar a contagem de cada um  , e  repetir isso para todos os números .

  • Obrigado 1

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!