Ir ao conteúdo

Matriz


Luciana B.

Posts recomendados

Postado

O problema é o seguinte:

Faça um programa em C que imprime os elementos de uma matriz real na tela na forma "o elemento x se repete y vez/vezes".

Obs.: o tamanho da matriz e os elementos são fornecidos pelo usuário

o que consegui até agora:

#include <stdio.h>
#include <conio.h>

main()
{
float A[20][20],
int l,c, L=0, C=0, i=0, cont=0, aux=0, linha, coluna;

printf("\n\n\tExistem elementos repetidos na matriz?\n\n");
printf("\nDigite o numero de linhas da matriz: ");
scanf("%d", &linha);
printf("\nDigite o numero de colunas da matriz: ");
scanf("%d", &coluna);

for (C=0; C<coluna; C++)
for (L=0;L<linha; L++)
{
printf("Digite o elemento a%d%d da matriz A: ", L+1, C+1);
fflush(stdin);
scanf("%f", &matriz[L][C]);
}


for(L=0;L<coluna;L++)
{
for(C=0;C<linha;C++)
{
aux = A[L][C];
for(l=0;l<coluna;l++)
{
for(c=0;c<linha;c++)
{
if(A[l][c] == aux)
cont++;
}
}
printf("O numero %d ocorre %d vezes na matriz A!\n", aux, cont);
aux = 0;
cont= 0;
}

}
getch();
return 0;
}

Mas só funciona para matrizes quadradas e fica repetindo " o valor x aparece y vezes" quantas vezes o elemento aparecer...

Postado

Bom se você diz que essa lógica exibe os elementos repetidos, então use essa forma para armazenar os elementos, aí é só aplicar o resto do código:

#include <stdio.h>
#include <conio.h>

int main(){

float mat[2][2];
int i, j, lin, col;

printf("\nDigite o número de linhas: ");
fflush(stdout);
scanf("%d",&i);
printf("\nDigite o numero de colunas: ");
fflush(stdout);
scanf("%d",&j);

for (lin = 0; lin < i; ++lin) {
for (col = 0; col < j; ++col) {
printf("\nDigite o [%d][%d] elemento: ",lin,col);
fflush(stdout);
scanf("%f",&mat[lin][col]);
}
}

for (lin = 0; lin < i; ++lin) {
for (col = 0; col < j; ++col)
printf(" %.1f ",mat[lin][col]);
printf("\n");
}

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!