Ir ao conteúdo

Posts recomendados

Postado

Em uma galáxia muito distante, a Primeira Ordem decidiu pressionar seus recrutadores de Stormtroopers de cada planeta para conseguir aumentar rapidamente seu exército. Para fazer isso, eles resolveram fazer um levantamento a fim de descobrir de quais planetas vinham as maiores contribuições para suas tropas.

Você foi recrutado pelos generais para o levantamento e para isso deve fazer um programa que leia um vetor de registros com os dados dos Stormtroopers. Cada registro deve ter os campos: nome, planeta de origem e número de batalhas que o Stormtrooper participou. O programa deverá então calcular, para cada planeta, o número de Stormtroopers que vieram de lá e a quantidade média de batalhas que eles participaram (guardando essas informações de cada planeta em um registro). Por fim, o programa deverá exibir o vetor de registros com os dados dos planetas.

Obs1: os nomes dos planetas devem aparecer na ordem em que aparecem na entrada.

Obs2: nomes dos Stormtroopers e dos planetas não possuem espaço.

Obs3: para soluções em Python o programador deve utilizar uma estrutura de dados apropriada no lugar dos registros.

Entradas:

Quantidade de Stormtroopers que serão avaliados.

Sequência de valores para os registros de Stormtroopers, seguindo a ordem: nome, planeta de origem e número de batalhas.

Saídas:

Sequência dos valores dos registros de dados dos planetas, seguindo a ordem: nome do planeta, número de Stormtroopers e número médio de batalhas que eles participaram (separados por um único espaço).

Exemplo de entrada:

 

 

Eu consegui fazer o registro mas não sei como ordenar os planetas e fazer a soma dos soldados e a média, segue o  código:

#include <iostream>

using namespace std;

struct processo{

  string nome, planeta;

  int batalhas;

};



int main(){

  int quantidade;

  cin>>quantidade;

  processo storm[quantidade];

  for(int i=0; i<quantidade; i++){

      cin>>storm[i].nome;

      cin>>storm[i].planeta;

      cin>>storm[i].batalhas;

  }









    return 0;



}

 

Postado
17 minutos atrás, Lukas22D disse:

Eu consegui fazer o registro mas não sei como ordenar os planetas e fazer a soma dos soldados e a média

 

Você não vai ordenar os planetas....

 

18 minutos atrás, Lukas22D disse:

Obs1: os nomes dos planetas devem aparecer na ordem em que aparecem na entrada.

 

 

;) A ordem é definida pela entrada, muito mais simples

 

19 minutos atrás, Lukas22D disse:

O programa deverá então calcular, para cada planeta, o número de Stormtroopers que vieram de lá e a quantidade média de batalhas que eles participaram (guardando essas informações de cada planeta em um registro)

 

E não tem isso no seu programa.

 

Porque não ...

 

struct StormTrooper
{
    string nome;
    string planeta;
    int    batalhas;
  
};

 

21 minutos atrás, Lukas22D disse:

O programa deverá então calcular, para cada planeta, o número de Stormtroopers que vieram de lá e a quantidade média de batalhas que eles participaram

 

Porque não tem uma classe para os planetas?

 

  • Curtir 1
Postado

@arfnetoMinha dúvida está nos exemplo de entrada, por exemplo:

5 <- Quantidade de Stormtroopers que serão avaliados.
DX-578 <- nome  do  Stormtroopers
Lothal <- Planeta
10  <- número de batalhas
MB-223
Lothal
5
SP-475
Sullust
3
TK-626
Lothal
10
FN-2187
Unknown
4

No caso como pegaria dentro do registro, todos os Stormtroopers do mesmo planeta, somasse e fizesse a média, já tentei com if tipo "if(storm[i].planeta =="Lothal")" dentro de um for, só que não funciona se o nome dos planetas mudar ou o exemplo mudar. 

Postado
13 minutos atrás, Lukas22D disse:

Minha dúvida está nos exemplo de entrada

 

Já pensou em postar os exemplos de entrada?

 

14 minutos atrás, Lukas22D disse:

No caso como pegaria dentro do registro, todos os Stormtroopers do mesmo planeta, somasse e fizesse a média, já tentei com if tipo "if(storm[i].planeta =="Lothal")" dentro de um for, só que não funciona se o nome dos planetas mudar ou o exemplo mudar

 

Não entendi.

 

33 minutos atrás, arfneto disse:

Porque não tem uma classe para os planetas?

 

Entendeu o que eu expliquei? 

 

 

Pode usar coisas como listas ou vetores ou conjuntos da linguagem? 

Postado
5 minutos atrás, arfneto disse:

Entendeu o que eu expliquei? 

 

Desculpa ainda não entendi, sou meio novo ainda na programação.

 

5 minutos atrás, arfneto disse:

Já pensou em postar os exemplos de entrada?

 

Eu postei os exemplo de entrada, que são esses:

 

20 minutos atrás, Lukas22D disse:
5 <- Quantidade de Stormtroopers que serão avaliados.(primeira entrada)
Segunda entrada no strucs:
DX-578 // nome  do  Stormtroopers
Lothal  // Planeta de Origem
10  // número de batalhas

MB-223 // nome  do  Stormtroopers
Lothal // Planeta
5 // número de batalhas

SP-475 // nome  do  Stormtroopers
Sullust //  Planeta de Origem
3 // número de batalhas

TK-626 // nome  do  Stormtroopers
Lothal // Planeta de Origem
10 //número de batalhas
FN-2187
Unknown
4

 

 

5 minutos atrás, arfneto disse:
39 minutos atrás, arfneto disse:

Porque não tem uma classe para os planetas?

 

Não entendi, como assim?

Postado
54 minutos atrás, Lukas22D disse:

Não entendi, como assim?

 

Se tem os StormTroopers não devia ter os planetas também? Esse é o objetivo.

 

E sobre o que perguntei:

 

59 minutos atrás, arfneto disse:

Pode usar coisas como listas ou vetores ou conjuntos da linguagem? 

 

 

1 hora atrás, Lukas22D disse:

Exemplo de entrada:

 

 

58 minutos atrás, Lukas22D disse:

Eu postei os exemplo de entrada, que são esses:

 

Inicialmente você não tinha postado. Só postou o cabeçalho. E quando postou isso achei que não seriam só 4...

 

1 hora atrás, Lukas22D disse:

Desculpa ainda não entendi, sou meio novo ainda na programação.

 

Eu postei os exemplo de entrada, que são esses:

 

 

Não entendi, como assim?

 

Onde vai guardar os resultados???

 

 

2 horas atrás, Lukas22D disse:

O programa deverá então calcular, para cada planeta, o número de Stormtroopers que vieram de lá e a quantidade média de batalhas

 

 

Tem que guardar em algum lugar, certo? Não tem nada no programa, mas tem para um StormTrooper...

 

Então porque não tem algo assim
 

struct StormTrooper
{
  string nome;
  string planeta;
  int    batalhas;
};

struct Planeta
{
    string nome;
    int    troopers;
    int    batalhas;
    double media;
}

 

E eu perguntei se pode usar vetores, listas, conjuntos, mapas, qualquer coisa da linguagem...

Escreva em torno dos dados. Isso é uma tabela

 

image.png.67ae91f2badcd2fd9afbb1bcb7e06401.png

 

 

 

 

 

 

 

 

 

 

 

 

No programa grátis do Google.

 

 

 

E o que você precisa é calcula a média... O Planilhas do Google calcula pra testar...

 

image.png.ff4df685d7c7b4451cbe3820cc67b2f5.png

 

E é isso o que tem que reproduzir. Nem tem dados suficientes e por isso achei que teria mais....

 

3 caras de Lothal venceram 19 batalhas, então a média é essa da planilha. Só tem que fazer isso no programa, e na ordem.

 

 

 

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...