Tải bản đầy đủ (.docx) (5 trang)

Đếm số lượng giá trị “yên ngựa” trên ma trận một phần tử được gọi là yên ngựa khi nó lớn nhất trên dòng và nhỏ nhất trên cột

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (84.82 KB, 5 trang )

Bài 347(*): Đếm số lượng giá trị “Yên Ngựa” trên ma trận. Một phần tử được gọi là Yên Ngựa khi nó lớn nhất trên dòng và nhỏ nhất
trên cột
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#define MAX 100
void NhapMang(int a[][MAX], int &dong, int &cot)
{
//Nhập số dòng
do
{
printf("\nNhap vao so dong: ");
// Cách tà đạo: scanf("dong =%d",&dong);

// Lúc nhập phải viết thêm

scanf("%d",&dong);

if(dong < 1 || dong > MAX)
{
printf("\nSo dong khong hop le. Xin kiem tra lai!");
}

}while(dong < 1 || dong > MAX);

//Nhập số cột

chữ ( dong =


) ở khung console


do
{
printf("\nNhap vao so cot: ");
scanf("%d",&cot);

if(cot < 1 || cot > MAX)
{
printf("\nSo cot khong hop le. Xin kiem tra lai!");

}

}while(cot < 1 || cot > MAX);

for(int i = 0; i < dong; i++)
{
for(int j = 0; j < cot; j++)
{
printf("\nNhap a[%d][%d] = ", i, j);
scanf("%d", &a[i][j]);
}
}
}

void XuatMang(int a[][MAX], int dong, int cot)
{



for(int i = 0; i < dong; i++)
{
for(int j = 0; j < cot; j++)
{
printf("%4d", a[i][j]);
}
printf("\n\n");
}
}

int TimPhanTuNhoNhatDong(int a[][MAX], int vtdong, int vtcot, int dong, int cot)
{
int x = a[vtdong][vtcot];
for(int i = 0; i < cot; i++)
{
if(a[vtdong][i] < x)
{
return false;
}
}
return true;
}

int TimPhanTuLonNhatCot(int a[][MAX], int vtdong, int vtcot, int dong, int cot)
{
int x = a[vtdong][vtcot];


for(int j = 0; j < dong; j++)
{

if(a[j][vtcot] > x)
{
return false;
}
}
return true;
}

void DemSoPhanTuYenNgua(int a[][MAX], int dong, int cot)
{
int dem = 0;
for(int i = 0; i < dong; i++)
{
for(int j = 0; j < cot; j++)
{
if(TimPhanTuNhoNhatDong(a, i, j, dong, cot) && TimPhanTuLonNhatCot(a, i, j, dong, cot))
{
printf ("A[%d][%d] = %d la mot diem yen ngua \n", i, j, a[i][j]);
dem++;
}
}
}
printf("\nSo phan tu yen ngua la %d", dem);
}


int main()
{
int a[MAX][MAX], dong, cot;
NhapMang(a, dong, cot);

XuatMang(a, dong, cot);

DemSoPhanTuYenNgua(a, dong, cot);
getch();
return 0;
}



×