Em có viết trương chình liệt kê tần suất giá trị trong ma trận. Nhưng khi cho chạy thì em bị lỗi, hình như em sai logic, ở phần thêm giá trị mới, anh chị nào có kinh nghiệm chỉ em với ạ.
#include <iostream>
using namespace std;
void nhap(int a[100][100],int m,int n);
void dem(int a[100][100],int m,int n);
int main(){
int a[100][100];
int m,n;
cout<<"Nhap hang: ";
cin>>m;
cout<<"Nhap cot: ";
cin>>n;
nhap(a,m,n);
dem(a,m,n);
return 0;
}
void nhap(int a[100][100],int m,int n){
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cout<<"Nhap gia tri a["<<i<<"]["<<j<<"]: ";
cin>>a[i][j];
}
}
}
void dem(int a[100][100],int m,int n){
int phu=m*n;
int giatri[phu],soluong[phu];
phu=0;
giatri[0]=a[0][0];
soluong[0]=1;
phu++;
for(int j=1;j<n;j++){
int dem=0;
for(int i=0;i<phu;i++){
if(a[0][j]==giatri[i]){
soluong[i]++;
}
else{
dem++; //de dem xem a[0][j] da xuat hien trong mang chua
}
}
if(dem==phu-1){
giatri[phu]=a[0][j];
soluong[phu]=1;
phu++;
}
}
/*for(int i=1;i<m;i++){
for(int j=0;j<n;j++){
for(int k=0;k<phu;k++){
if(a[i][j]==giatri[k]){
soluong[k]++;
}
else{
giatri[phu]=a[i][j];
soluong[phu]=1;
phu++;
}
}
}
}*/
for(int i=0;i<=5;i++){
cout<<" ";
}
cout<<"Gia tri";
for(int i=0;i<=5;i++){
cout<<" ";
}
cout<<"Tan so\n";
int phu2=phu-1;
while(phu2>=0){
for(int i=0;i<=7;i++){
cout<<" ";
}
cout<<giatri[phu2];
for(int i=0;i<=5;i++){
cout<<" ";
}
cout<<soluong[phu2]<<endl;
phu2--;
}
cout<<giatri[1]<<" "<<soluong[1];
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?