Ir ao conteúdo
  • Cadastre-se
MarcMarc

Programa em java (matriz)

Recommended Posts

Olá pessoal, estou com uma duvida em um código do seguinte exercício (linguagem java) 

Crie um programa que carregue uma matriz de 12x4 com os valores das vendas de uma loja. Cada linha da matriz representa um mês do ano e cada coluna, uma semana do mês. Os dados devem ser processados de forma a produzir as seguintes informações:

a)Total vendido em cada mês do ano;

b)Qual das quatros semanas do mês se vende mais? (Exemplo: No mes de janeiro, vende-se mais na segunda semana;)

c)Total vendido no ano.

Não consegui realizar o item b muito bem, o programa não está retornando a semana.. 

int matriz[][] = new int[12][4];
    Random gerador = new Random();
    int i,j,soma=0,somatotal=0,totalsemana=0,menor;
    
    for(i=0;i<12;i++) {
        for(j=0;j<4;j++) {
            matriz[i][j] = gerador.nextInt(1000);
        }
    }
    for(i=0;i<12;i++) {
        for(j=0;j<4;j++) {
            System.out.print(matriz[i][j]+ " ");
              }
        System.out.println();
    }
    
    for(i=0;i<12;i++) {
        soma = 0;
                for(j=0;j<4;j++) {
            soma = soma + matriz[i][j];
            somatotal = somatotal + matriz[i][j];
            if(matriz[i][j]>totalsemana) {
                totalsemana = j;
            }
        
             }
        System.out.println("o total vendido no mes "+(i+1)+" foi de R$ "+soma+",00 e a semana que mais vendeu foi "+totalsemana);
    }
        System.out.println("O total vendido no ano foi de R$ "+somatotal);
    
     }
    
    
}

A variavel totalsemana deve retornar o numero da semana em que houve maior valor (semana 1,2,3 ou 4 do mês)..Onde estou errando? 

 

Muito Obrigada desde já.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Praticamente correto o que você fez ... mas você precisa fazer a validação com o valor, e não com o indice ... 

for(i=0;i<12;i++) {
    soma = 0;
    int indiceMaiorSemana = 0;
    for(j=0;j<4;j++) {
        soma = soma + matriz[i][j];
        somatotal = somatotal + matriz[i][j];
        if (matriz[i][j] > matriz[i][indiceMaiorSemana]){ //Faça o teste pelo valor, e não pelo indice ;)
            indiceMaiorSemana = j; //Você só precisa saber qual é o indice para exibir
        }
    }
    System.out.println("o total vendido no mes " + (i+1) + " foi de R$ " + soma + ",00 e a semana que mais vendeu foi " + (indiceMaiorSemana + 1));
}



 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×