Se citeste o matrice n*m cu elemente intregi. Sa se determine elementul care
apare de cele mai multe ori in matrice si de cate ori apare el.
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main()
{
unsigned int n, m;
int v[10] = {0} , a[100][100], max, contor = 0;
cin >> n >> m;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
cin >> a[i][j];
v[a[i][j]]++;
}
}
for(int i = 0; i< 10; i++)
{
if(contor <= v[i])
{
contor = v[i];
max = i;
}
}
cout << "Numarul " << max << " apare de " << contor << " ori";
return 0;
}
Nu ai specificat numarul maxim de elemente care pot intra in matrice si dimensiunea maxima a elementelor din ea. Programul functioneaza doar pentru un maxim de 10.000 valori (100x100), iar elementele sunt doar cifre.
#include <stdio.h>
#include <stdlib.h>
int a[100][100];
int i,j,k,q,r,p = 0,k,x,n,m;
cit_mat(){
for(i=0; i<n; i++){
printf("\n");
for(j=0; j<m; j++){
scanf("%d",&a[i][j]);
}
}
}
afis_mat(){
for(i=0; i<n; i++){
printf("\n");
for(j=0; j<m; j++){
printf("%d ",a[i][j]);
}
}
}
scan_repet(){
for(r=0;r<n;r++){
for(q=0; q<m; q++){
for(i=0; i<n; i++){
for(j=0; j<m; j++){
if(a[r][q] == a[i][j]){
k++;
}
}
}if(k>p){
p=k;
x=a[r][q];
k=0;
}else{
printf("\n%d",k);
k=0;
}
}
}
printf("\n\nElementul %d se repeta cel mai mult",x);
printf("\nEl se repeta de %d ori",p);
}
main(){
printf("Dati nr de linii n = ");
scanf("%d",&n);
printf("Dati nr de coloane m = ");
scanf("%d",&m);
cit_mat();
afis_mat();
printf("\n\n");
scan_repet();
}
Coroana?