Ir ao conteúdo

Matriz em c


linguagem_c

Posts recomendados

Postado

Crie 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

Estou com problemas de logica a resposta que eu tenho é sempre 4 e 1

#include <stdio.h>
#include <stdlib.h>
int elementos(int m[2][4]){
int count = 0;
int i, j;
for(i=0;i<2;i++)
for(j=0;j<4;j++){
if(m[i][0] > 12 && m[i][0] <20){
count++;
}
}
return (count);
}
float par(int m[2][4]){
int soma = 0;
int i, j;
for(i=0;i<2;i++)
for(j=0;j<4;j++){
if(m[i][0] % 2 == 0){
soma = soma + i;
}
}
for(i=0;i<2;i++)
for(j=0;j<4;j++){
if(m[0][j] % 2 == 0){
soma = soma + i;
}
}
float media;
media = soma / 2;
return (media);
}
int main()
{
int m[2][4];
int i, j;
for(i=0;i<2;i++)
for(j=0;j<4;j++){
printf("Preenche a matriz M[%d][%d] \n",i, j);
scanf("%d",&m[i][j]);
}
printf("A quantidade de elementos entre 12 e 20 e: \n %d \n",elementos(m));
printf("A media dos elementos pares e: \n %f \n",par(m));
system("PAUSE");
return 0;
}

Postado

As respostas que eu obtenho não estão corretas

#include <stdio.h>
#include <stdlib.h>
int elementos(int m[2][4]){
int count = 0;
int i, j;
for(i=0;i<2;i++)
if(m[i][0] > 12 && m[i][0] <20){
count++;
}
return (count);
}
float par(int m[2][4]){
int somai = 0;
int somaj = 0;
int counti = 0;
int countj = 0;
int i, j;
for(i=0;i<2;i++){
if(m[i][0] % 2 == 0){
somai = somai + m[i][0];
counti++;
}
}
for(j=0;j<4;j++){
if(m[0][j] % 2 == 0){
somaj = somaj + m[0][j];
countj++;
}
}
float media = (somai + somaj) / (counti + countj);
return(media);
}
int main()
{
int m[2][4];
int i, j;
for(i=0;i<2;i++)
for(j=0;j<4;j++){
printf("Preenche a matriz M[%d][%d] \n",i, j);
scanf("%d",&m[i][j]);
}
printf("A quantidade de elementos entre 12 e 20 e: \n %d \n",elementos(m));
printf("A media dos elementos pares e: \n %f \n",par(m));
system("PAUSE");
return 0;
}

Postado

Faça isso:

Troque essa linha

if(m[0] > 12 && m[0] <20){

Por essa

if(m[j] > 12 && m[j] <20){

Declare a variável count como um vetor.

Troque o count++; por count[j]++;

Assim count[0] terá a quantidade de elementos da linha 0, count[1] terá a quantidade de elementos da linha 1, etc...

Precisa acertar o retorno da função também.

Arquivado

Este tópico foi arquivado e está fechado para 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!