Ir ao conteúdo
  • Cadastre-se

Programa em java (matriz)


Posts recomendados

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

 

Link para o comentário
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));
}



 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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