ocorrências de cada elemento na matriz.*/
#include <stdio.h>
#define NL 2
#define NC 3
int main(){
int mat[NL][NC],lin,col,i,k,achou,ocorrencias,
ve[NL*NC],/*armazena os elementos distintos da matriz, aqueles que já foram contados*/
ultima_pos=-1;/*armazena a última posição preenchida do vetor ve*/
/*lendo a matriz*/
for(lin=0;lin<NL;lin++)
for (col=0;col<NC;col++){
printf("\n[%d][%d]:",lin,col);
scanf("%d",&mat[lin][col]);
}
for(lin=0;lin<NL;lin++)
for(col=0;col<NC;col++){
/*verificando se o elemento corrente da matriz já foi processado. Verificar se ele está
presente no vetor ve*/
i=0;
achou=0;
while(i<ultima_pos && achou==0)
if(mat[lin][col]==ve[i])
achou =1;
else
i++;
/*caso o elemento pertença a ve (achou terá o valor 1) não preciso contá-lo novamente*/
if(achou==0){
ultima_pos++;
ve[ultima_pos]=mat[lin][col];
/*percorrer a matriz apenas a partir da linha correente. As posições acima da linha
corrente já foram processadas*/
ocorrencias =0;
for(i=lin;i<NL;i++)
for(k=0;k<NC;k++)
if(mat[lin][col]==mat[i][k])
ocorrencias++;
printf("\nO elemento %d aparece %d vezes",mat[lin][col],ocorrencias);
}
}
}
Nenhum comentário:
Postar um comentário