1. Trang chủ
  2. » Công Nghệ Thông Tin

Chuyên đề mảng 2 chiều phần 2 ppt

19 624 8
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 139,95 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

351 Ktra ma trận có toàn dương ko

int Ktra(int a[][100],int dong,int cot)

{

int flag = 1;

for (int i=0; i<dong; i++)

{

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

if (a[i][j]<0) {

flag=0;

break;

} }

}

return flag;

}

352 Ktra 1 hàng ma trận có tăng dần hay ko

int Ktra(int a[][100],int dong,int cot, int DongCanTinh)

{

int flag = 1; //coi nh? dòng t?ng

for (int j=0;j<cot-1;j++)

{

if (a[DongCanTinh][j]>a[DongCanTinh][j+1]) {

flag=0; //dòng ko t?ng break;

} }

return flag;

}

353 Ktra 1 cột ma trận có giảm dần ko

int Ktra(int a[][100],int dong,int cot, int CotXet)

{

int flag = 1;

for (int i=0;i<dong-1;i++)

{

if (a[i][CotXet]<a[i+1][CotXet]) {

flag=0;

break;

} }

return flag;

}

354 Ktra các gtrị trong ma trận có giảm dần theo cột và dòng hay ko int Ktra(int a[][100],int dong,int cot)

{

int flag =1;

int i,j;

//Ktra dong truoc

for (i=0;i<dong;i++)

{

for (j=0; j<cot-1;j++)

Trang 2

{

if (a[i][j]<a[i][j+1]) {

flag=0;

break;

} }

}

//Ktra cot sau

for (j=0; j<cot;j++)

{

for (i=0; i<dong-1;i++) {

if (a[j][i]<a[j][i+1]) {

flag=0;

break;

} } }

return flag;

}

355 Liệt kê các dòng toàn âm trong ma trận các số thực void LietKe(float a[][100],int dong,int cot)

{

int i,j,flag;

//Ktra dong truoc

for (i=0;i<dong;i++)

{

for (flag =1,j=0; j<cot;j++) {

if (a[i][j]>0) {

flag=0;

break;

} }

if (flag == 1) {

printf("\nDong a[%d] toan am : ",i); for (j=0;j<cot;j++)

{

printf(" %.2f ",a[i][j]); }

} }

}

356 Liệt kê chỉ số các dòng chứa toàn giá trị chẵn

void LietKe(int a[][100],int dong,int cot)

{

int i,j,flag;

//Ktra dong truoc

for (i=0;i<dong;i++)

{

Trang 3

for (flag =1,j=0; j<cot;j++) {

if (a[i][j]%2!=0) {

flag=0;

break;

} }

if (flag == 1) {

printf("\nDong a[%d] toan chan ",i);

} }

}

357 Liệt kê dòng chứa số nguyên tố

void LietKe(int a[][100],int dong,int cot)

{

int i,j,flag;

for (i=0;i<dong;i++)

{

for (flag =0,j=0; j<cot;j++) {

if (SoNguyenTo(a[i][j])==1) {

flag=1;

break;

} }

if (flag == 1) {

printf("\nDong a[%d] co chua so nguyen to ",i); }

}

}

358 liệt kê các dòng có chứa giá trị chẵn

void LietKe(int a[][100],int dong,int cot)

{

int i,j,flag;

for (i=0;i<dong;i++)

{

for (flag =0,j=0; j<cot;j++) {

if (a[i][j]%2==0) {

flag=1;

break;

} }

if (flag == 1) {

printf("\nDong a[%d] co chua chan ",i);

} }

}

Trang 4

359 Liệt kê các dòng có chứa giá trị âm

void LietKe(int a[][100],int dong,int cot)

{

int i,j,flag;

for (i=0;i<dong;i++)

{

for (flag =0,j=0; j<cot;j++) {

if (a[i][j] <0) {

flag=1;

break;

} }

if (flag == 1) {

printf("\nDong a[%d] co chua gia tri am ",i); }

}

}

360 Liệt kê các cột chứa số chính phương

void LietKe(int a[][100],int dong,int cot)

{

int i,j,flag;

for (j=0;j<cot;j++)

{

for (flag =0,i=0; i<dong;i++) {

if (sochinhphuong(a[i][j])==1) {

flag=1;

break;

} }

if (flag == 1) {

printf("\nCot a[%d] co chua so chinh phuong ",j); }

}

}

361 Liệt kê các dòng thỏa: có giá trị âm, dương và 0 (ptử trung hòa) void LietKe(int a[][100],int dong,int cot)

{

int i,j;

for (i=0;i<dong;i++)

{

if (n>2) {

int flag[3] = {0};

for (j=0; j<cot;j++) {

if (a[i][j]<0) {

flag[0] = 1;

Trang 5

} else if (a[i][j]==0) {

flag[1] = 1;

} else if (a[i][j]>0) {

flag[2] = 1;

}

if (flag[0]+flag[1]+flag[2]==3) {

printf("\nDong a[%d] co ptu am, duong, 0",i); break;

} }

} }

}

362 Liệt kê các dòng giảm dần

void LietKe(int a[][100],int dong,int cot)

{

int i,j,flag;

for (i=0;i<dong;i++)

{

for (flag =1,j=0; j<cot-1;j++) {

if (a[i][j]<a[i][j+1]) {

flag = 0;

break;

}

}

if (flag == 1) {

printf("\nDong a[%d] giam",i);

} }

}

363 Liệt kê các cột tăng dần

void LietKe(int a[][100],int dong,int cot)

{

int i,j,flag;

for (j=0;j<cot;j++)

{

for (flag =1,i=0; i<dong-1;i++) {

if (a[i][j]>a[i+1][j]) {

flag = 0;

break;

} }

Trang 6

if (flag == 1) {

printf("\nCot a[%d] tang",j);

} }

}

364 Cho 2 ma trận A,B Ktra ma trận A có là ma trận con của B ko?

int KiemTra(int a[][100], int donga, int cota, int b[][100], int dongb, int cotb) {

int i,j,k,h,flag=0,s,t;

for (i=0; i<donga; i++)

{

for (j=0;j<cota;j++) {

if (donga-i>=dongb && cota-j>=cotb && a[i][j]==b[0][0]) {

for (flag=1,s=i,k=0;k<dongb;k++,s++) {

for (h=0,t=j;h<cotb;h++,t++) {

if (b[k][h]!=a[s][t]) {

flag =0;

break;

} }

if (flag == 0)

break;

else

return 1;

} } }

}

return 0;

}

365 Đếm số lần xuất hiện của ma trận A trong ma trận B?

int Dem(int a[][100], int donga, int cota, int b[][100], int dongb, int cotb)

{

int i,j,k,h,flag=1,s,t,dem=0;

for (i=0; i<donga; i++)

{

for (j=0;j<cota;j++) {

if (donga-i>=dongb && cota-j>=cotb && a[i][j]==b[0][0]) {

for (s=i,k=0;k<dongb;k++,s++) {

for (h=0,t=j;h<cotb;h++,t++) {

if (b[k][h]!=a[s][t]) {

flag =0;

break;

Trang 7

} }

if (flag == 0)

break; }

if (flag == 1) {

dem++;

} } }

}

return dem;

}

Kĩ thuật đặt lính canh

366 Tìm số chẵn đầu tiên trong ma trận

int GiaTriCanTim(int a[][100], int cot, int dong)

{

for (int i=0; i<dong; i++)

{

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

if (a[i][j]%2==0) {

return a[i][j];

} }

}

return -1;

}

367 Tìm max trong ma trận

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int Max = a[0][0];

for (int i=0; i<dong; i++)

{

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

Max = (Max>a[i][j])?Max:a[i][j]; }

}

return Max;

}

368 Tìm giá trị lớn thứ 2 trong ma trận (max2)

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int Max=a[0][0];

for (int i=0; i<dong; i++)

{

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

Max = (Max>a[i][j])?Max:a[i][j];

Trang 8

} }

int Max2 = a[0][0];

for (i=0; i<dong; i++)

{

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

if (Max>Max2 && a[i][j]!=Max && Max2<a[i][j]) {

Max2 = a[i][j];

} }

}

return Max2;

}

369 Tìm số dương đầu tiên trong ma trận

int GiaTriCanTim(int a[][100], int cot, int dong)

{

for (int i=0; i<dong; i++)

{

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

if (a[i][j]>0) {

return a[i][j];

} }

}

return -1;

}

370 Tìm giá trị âm lớn nhất trong ma trận

int AmDauTien(int a[][100], int cot, int dong)

{

for (int i=0; i<dong; i++)

{

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

if (a[i][j]<0) {

return a[i][j];

} }

}

return 0;

}

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int AmMax = AmDauTien(a,cot,dong);

if (AmMax == 0)

{

return 0;

}

Trang 9

for (int i=0; i<dong;i++)

{

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

if (a[i][j]<0) {

AmMax = (AmMax>a[i][j])?AmMax:a[i][j]; }

} }

return AmMax;

}

371 Liệt kê các dòng có chứa max

int GiaTriMax(int a[][100], int cot, int dong)

{

int Max = a[0][0];

for (int i=0; i<dong; i++)

{

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

Max = (Max>a[i][j])?Max:a[i][j];

} }

return Max;

}

void LietKe(int a[][100], int cot, int dong)

{

int Max = GiaTriMax(a,cot,dong);

for (int i=0; i<dong;i++)

{

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

if (a[i][j]==Max) {

printf("\nDong [%d] chua max: ", i); for (j=0; j<cot; j++)

{

printf("%4d", a[i][j]);

} }

} }

}

372 Tìm giá trị lớn nhất trên 1 dòng

void LietKe(int a[][100], int cot, int dong)

{

for (int i=0; i<dong;i++)

{

int Max = a[i][0];

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

Max = (Max>a[i][j])?Max:a[i][j];

Trang 10

} printf("\nDong %d: ",i) ; printf("Gia tri max %d",Max);

}

}

373 Tìm giá trị nhỏ nhất trên 1 cột

void LietKe(int a[][100], int cot, int dong)

{

for (int i=0; i<cot;i++)

{

int Min = a[0][i];

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

Min = (Min<a[j][i])?Min:a[j][i]; }

printf("\nCot %d: ",i) ; printf("Gia tri min %d",Min);

}

}

374 Tìm số nguyên tố đầu tiên

int SoNguyenTo(int a)

{

if (a<=1)

{

return 0;

}

for (int i=2; i<a; i++)

{

if (a%i==0) {

return 0;

} }

return 1;

}

int GiaTriCanTim(int a[][100], int cot, int dong) {

for (int i=0; i<dong; i++)

{

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

if (SoNguyenTo(a[i][j])==1) {

return a[i][j];

} }

}

return -1;

}

375 Tìm số chẵn lớn nhất

int ChanDauTien(int a[][100], int cot, int dong)

Trang 11

{

for (int i=0; i<dong; i++)

{

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

if (a[i][j]%2==0) {

return a[i][j];

} }

}

return -1;

}

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int ChanMax = ChanDauTien(a,cot,dong);

if (ChanMax == -1)

{

return -1;

}

for (int i=0; i<dong;i++)

{

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

if (a[i][j]%2==0) {

ChanMax = (ChanMax>a[i][j])?ChanMax:a[i][j]; }

} }

return ChanMax;

}

376 Tìm số dương nhỏ nhất

int DuongDauTien(int a[][100], int cot, int dong)

{

for (int i=0; i<dong; i++)

{

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

if (a[i][j]>0) {

return a[i][j];

} }

}

return -1;

}

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int DuongMin = DuongDauTien(a,cot,dong);

if (DuongMin == -1)

{

return -1;

Trang 12

}

for (int i=0; i<dong;i++)

{

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

if (a[i][j]>0) {

DuongMin = (DuongMin<a[i][j])?DuongMin:a[i][j]; }

} }

return DuongMin;

}

377 Tìm số nguyên tố lớn nhất

int SoNguyenTo(int a)

{

if (a<=1)

{

return 0;

}

for (int i=2; i<a; i++)

{

if (a%i==0)

{

return 0;

}

}

return 1;

}

int SoNguyenToDauTien(int a[][100], int cot, int dong)

{

for (int i=0; i<dong; i++)

{

for (int j=0; j<cot; j++)

{

if (SoNguyenTo(a[i][j])==1)

{

return a[i][j];

}

}

}

return -1;

}

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int SoNguyenToMax = SoNguyenToDauTien(a,cot,dong);

if (SoNguyenToMax == -1)

{

return -1;

}

for (int i=0; i<dong;i++)

{

for (int j=0; j<cot; j++)

Trang 13

{

if (SoNguyenTo(a[i][j])==1)

{

SoNguyenToMax = (SoNguyenToMax>a[i][j])?SoNguyenToMax:a[i][j]; }

}

}

return SoNguyenToMax;

}

378 Tìm 1 chữ số xuất hiện nhiều nhất

void ChuSo(int n, int b[])

{

int DonVi;

n = abs(n);

do

{

DonVi = n%10;

b[DonVi]++;

n=n/10;

} while (n>0);

}

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int b[10] = {0};

for (int i=0; i<dong;i++)

{

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

ChuSo(a[i][j],b);

} }

int ChuSoNhieuNhat = 0;

for (i=1; i<10; i++)

{

if (b[ChuSoNhieuNhat] < b[i]) {

ChuSoNhieuNhat = i;

} }

return ChuSoNhieuNhat;

}

379 Đếm số lượng min

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int dem = 0;

int Min = a[0][0];

for (int i=0; i<dong;i++)

{

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

if (Min == a[i][j]) {

Trang 14

dem ++ ; }

else if (Min > a[i][j]) {

Min = a[i][j];

dem = 1;

} }

}

return dem;

}

380 Đếm số lượng chẵn nhỏ nhất

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int dem = 0;

int Min = a[0][0];

for (int i=0; i<dong;i++)

{

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

if (Min == a[i][j]) {

dem ++ ; }

else if (Min > a[i][j]) {

Min = a[i][j];

dem = 1;

} }

}

return dem;

}

381 Tìm giá trị xuất hiện nhiều nhất

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int flag[100][100] = {0};

int GiaTri , Dem = 0,Dem1=0;

for (int i=0; i<dong; i++)

{

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

if (flag[i][j]==0) {

for (int k=i; k<dong; k++) {

for (int h=0; h<cot;h++) {

if (flag[k][h]==0) {

if (a[i][j] == a[k][h]) {

Trang 15

flag[k][h] = 1; Dem++; }

} }

}

if (Dem > Dem1) {

Dem1 = Dem;

GiaTri = a[i][j];

Dem = 0;

} }

} }

return GiaTri;

}

382 Tìm số chính phương lớn nhất

int SoChinhPhuong(int n)

{

int a = sqrt (n);

if (a*a == n)

{

return 1;

}

return 0;

}

int SoChinhPhuongDauTien(int a[][100], int cot, int dong)

{

for (int i=0; i<dong; i++)

{

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

if (SoChinhPhuong(a[i][j])==1) {

return a[i][j];

} }

}

return -1;

}

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int SoChinhPhuongMax = SoChinhPhuongDauTien(a,cot,dong);

if (SoChinhPhuongMax == -1)

{

return -1;

}

for (int i=0; i<dong;i++)

{

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

if (SoChinhPhuong(a[i][j])==1)

Trang 16

{

SoChinhPhuongMax = (SoChinhPhuongMax>a[i][j])?SoChinhPhuongMax:a[i][j]; }

} }

return SoChinhPhuongMax;

}

383 Tìm số hòan thiện nhỏ nhất

int sohoanthien(int n)

{

int tong=0;

for (int i=1 ; i<n; i++)

if(n%i==0)

tong = tong + i;

if (tong == n)

return 1;

return 0;

}

int SoHoanThienDauTien(int a[][100], int cot, int dong)

{

for (int i=0; i<dong; i++)

{

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

if (SoHoanThien(a[i][j])==1) {

return a[i][j];

} }

}

return -1;

}

int GiaTriCanTim(int a[][100], int cot, int dong)

{

int SoHoanThienMin = SoHoanThienDauTien(a,cot,dong);

if (SoHoanThienMin == -1)

{

return -1;

}

for (int i=0; i<dong;i++)

{

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

if (SoHoanThien(a[i][j])==1) {

SoHoanThienMin = (SoHoanThienMin<a[i][j])?SoHoanThienMin:a[i][j];

} }

}

return SoHoanThienMin;

}

Trang 17

384 Tìm các chữ số xuất hiện nhiều nhất trong ma trận void ChuSo(int n, int b[])

{

int DonVi;

n = abs(n);

do

{

DonVi = n%10;

b[DonVi]++;

n=n/10;

} while (n>0);

}

void GiaTriCanTim(int a[][100], int cot, int dong) {

int b[10] = {0};

for (int i=0; i<dong;i++)

{

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

ChuSo(a[i][j],b);

} }

int ChuSoNhieuNhat = 0;

for (i=1; i<10; i++)

{

if (b[ChuSoNhieuNhat] < b[i]) {

ChuSoNhieuNhat = i;

} }

printf("Cac chu so xuat hien nhieu nhat: "); for (i=0; i<10; i++)

{

if (b[ChuSoNhieuNhat] == b[i]) {

printf("%4d", i);

} }

}

385 Liệt kê các dòng có tổng lớn nhất

int tong(int a[], int cot)

{

int s=0;

for (int i=0; i<cot; i++)

{

s+=a[i];

}

return s;

}

void LietKe(int a[][100], int cot, int dong)

{

int b[100];

for (int i=0; i<dong; i++)

Trang 18

{

b[i] = tong(a[i],cot);

}

//Tong Max

int Max = b[0];

for (i=1; i<dong; i++)

{

Max = (Max>b[i])?Max:b[i];

}

//Liet ke Tong Max

for (i = 0; i< dong ;i++)

{

if (Max == b[i]) {

printf("\nDong %d co tong ptu lon nhat la %d", i,Max); }

}

}

386 Liệt kê các cột có tổng nhỏ nhất

void LietKe(int a[][100], int cot, int dong)

{

int b[100] = {0};

for (int i=0; i<cot; i++)

{

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

b[i]+=a[j][i];

} }

//Tong Min

int Min = b[0];

for (i=1; i<cot; i++)

{

Min = (Min<b[i])?Min:b[i];

}

//Liet ke Tong Min

for (i = 0; i< cot ;i++)

{

if (Min == b[i]) {

printf("\nCot %d co tong ptu nho nhat la %d", i,Min); }

}

}

387 Liệt kê các dòng có nhiều số chẵn nhất

void LietKe(int a[][100], int cot, int dong)

{

int dem[100] = {0};

for (int i=0; i<dong; i++)

for (int j=0; j<cot; j++)

if (a[i][j]%2==0)

dem[i]++;

Trang 19

int Max = dem[0];

for (i=1; i<dong; i++)

Max = (Max>dem[i])?Max:dem[i];

for (i = 0; i< dong ;i++)

if (Max == dem[i])

printf("\nDong %d co so chan nhieu nhat la %d", i,Max); }

388 Liệt kê các dòng có nhiều số nguyên tố nhất

int SoNguyenTo(int a)

{

if (a<=1)

{

return 0;

}

for (int i=2; i<a; i++)

{

if (a%i==0) {

return 0;

} }

return 1;

}

void LietKe(int a[][100], int cot, int dong)

{

int dem[100] = {0};

for (int i=0; i<dong; i++)

for (int j=0; j<cot; j++)

if (SoNguyenTo(a[i][j])==1)

dem[i]++;

int Max = dem[0];

for (i=1; i<dong; i++)

Max = (Max>dem[i])?Max:dem[i];

for (i = 0; i< dong ;i++)

if (Max == dem[i])

printf("\nDong %d co so nguyen to nhieu nhat la %d", i,Max); }

389 Liệt kê các dòng có nhiều số hòan thiện nhất

int SoHoanThien(int n)

{

int tong=0;

for (int i=1 ; i<n; i++)

if(n%i==0)

tong = tong + i;

if (tong == n)

return 1;

return 0;

}

void LietKe(int a[][100], int cot, int dong)

{

int dem[100] = {0};

for (int i=0; i<dong; i++)

Ngày đăng: 29/07/2014, 21:20

TỪ KHÓA LIÊN QUAN

w