Ir ao conteúdo
  • Cadastre-se
Renato Veronese

Programação c - quantidade de elementos entre 12 e 20 em cada linha da matriz

Recommended Posts

"Faça um programa que preencha uma matriz 2x4 com números inteiros, calcule e mostre:

A quantidade de elementos entre 12 e 20 em cada linha;

a média dos elementos pares da matriz."

 

Boa noite a todos!

Como posso fazer para descobrir a quantidade de elementos entre 12 e 20 em cada linha da matriz? sabendo que essa matriz tem duas linhas?

O meu código atual ele mostra os números entre 12 e 20 das duas linhas, há alguma maneira de separar e mostrar da primeira linha e da segunda linha?

Se sim, como?

Obrigado.

 

 

#include <stdio.h>
int main(){
    int mat[2][4];
    int i, // índice da linha
        j; // índice da coluna
    int quantidadeelementos = 0;
    float numerospares;
    
    printf("\n Informe os numeros da matriz: ");
    for(i=0;i<2;i++){
        for(j=0;j<4;j++){
           scanf("%i", &mat[j]);
        }
    }
    // calcula quantidade de numeros da matriz entre 12 e 20:
    
    
    for(i=0;i<2;i++){
        for(j=0;j<4;j++){
                if ((mat[j] > 12) && (mat[j] < 20)){
                quantidadeelementos = quantidadeelementos+1;
            }
                if (mat[j] % 2 == 0){
                    numerospares = numerospares+1;
                }
          }
    }
    
    printf("\nA quantidade de numeros da matriz entre 15 e 20 e: %i\n", quantidadeelementos);
    printf("\nA media dos elementos pares da matriz e: %.2f\n", (numerospares / 8) * 100);

    getch();
    return 0;
}

 

 

 

 

 

 

adicionado 15 minutos depois

Consegui chegar no resultado através do seguinte código:

 

 

 

 

 

#include <stdio.h>
int main(){
    int mat[2][4];
    int i, // índice da linha
        j; // índice da coluna
    float numerospares;
    int quantidadeelementoslinhaum = 0;
    int quantidadeelementoslinhadois = 0;
    
    printf("\n Informe os numeros da matriz: ");
    for(i=0;i<2;i++){
        for(j=0;j<4;j++){
           scanf("%i", &mat[j]);
        }
    }
    // calcula quantidade de numeros da primeira linha:
    
    
    for(i=0;i<1;i++){
        for(j=0;j<4;j++){
                if ((mat[j] > 12) && (mat[j] < 20)){
                quantidadeelementoslinhaum = quantidadeelementoslinhaum+1;
            }
                if (mat[j] % 2 == 0){
                    numerospares = numerospares+1;
                }
          }
    }
    
    for (i=1;i<2;i++){
        for(j=0;j<4;j++){
                if ((mat[j] > 12) && (mat[j] < 20)){
                quantidadeelementoslinhadois = quantidadeelementoslinhadois+1;
            }
                if (mat[j] % 2 == 0){
                    numerospares = numerospares+1;
                }
          }
    }
    
    
    
    
    
    printf("\nA quantidade de numeros da matriz entre 12 e 20 da primeira linha e: %i\n", quantidadeelementoslinhaum);
    printf("\n A quantidade de numeros da matriz entre 12 e 20 da segunda linha e: %i\n", quantidadeelementoslinhadois);
    printf("\nA media dos elementos pares da matriz e: %.2f\n", (numerospares / 8) * 100);

    getch();
    return 0;
}

Editado por Renato Veronese

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite amigo, estou assumindo que este código não é seu ou que você foi auxiliado pelo seu professor na hora de fazer.

 

Primeiramente boa sorte aprendendo a programar.

 

Vou te explicar o que acontece linha por linha nos segundo bloco de estruturas de repetição,  que você entenderá tranquilamente o que você deve fazer.

 

for(i=0;i<2;i++){ //este for define 2 repetições
        for(j=0;j<4;j++){ //este for define 4 repetições
                if ((mat[j] > 12) && (mat[j] < 20)){//esta condição se encontra dentro de duas estruturas for, então é executada em 2 grupos de 4
                quantidadeelementos = quantidadeelementos+1;
            	}
                if (mat[j] % 2 == 0){//o mesmo para esta
                    numerospares = numerospares+1;
                }
          	//para cada vez que seu codigo chega aqui, os ifs foram executados 1 vez (um elemento da linha)
          }
   	//isso tudo significa que cada vez que seu codigo chegar aqui os dois ifs foram executados 4 vezes (em outras palavras uma linha);
    }
//o que por sua vez significa que qualquer coisa fora da estrutura anterior ja tem os valores finais de toda execução

 

Lembre-se, na programação a logica é o mais importante, com uma boa logica você consegue programar qualquer coisa em qualquer linguagem.

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

×