Ir ao conteúdo
  • Cadastre-se

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


Renato Veronese

Posts recomendados

"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;
}

Link para o comentário
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.

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