Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
247 KB
Nội dung
Kĩ Thuật Lập Trình Nâng Cao 2010 Tài liệu kỹ thuật lập trình nâng cao Ma trận 1 Kĩ Thuật Lập Trình Nâng Cao 2010 MA TRẬN Bai 71-79 #include <iostream> #include <time.h> #include <iomanip> #define MAX 100 using namespace std; //Nhap mang 2 chieu tu ban phim void NhapMaTranTuBanPhim(int a[][MAX], int &d, int &c) { do{ cout<<"Nhap so dong (tu 1 den "<<MAX<<")= "; cin>>d; }while(d<1 || d>MAX); do{ cout<<"Nhap so cot (tu 1 den "<<MAX<<")= "; cin>>c; }while(c<1 || c>MAX); for(int i=0; i<d; i++) for(int j=0; j<c; j++) { cout<<"Nhap phan tu ["<<i<<"]["<<j<<"]= "; cin>>a[i][j]; } } //Bai 71: Nhap mang hai chieu ngau nhien void NhapMaTranNgauNhien(int a[][MAX], int &d, int &c) { srand((unsigned int) time (NULL)); do{ cout<<"Nhap so dong (tu 1 den "<<MAX<<")= "; cin>>d; }while(d<1 || d>MAX); do{ cout<<"Nhap so cot (tu 1 den "<<MAX<<")= "; cin>>c; }while(c<1 || c>MAX); for(int i=0; i<d; i++) for(int j=0; j<c; j++) { 2 Kĩ Thuật Lập Trình Nâng Cao 2010 a[i][j]=rand() %21; } cout<<"Da tao xong ma tran"; } //Ham xuat void XuatMaTran(int a[][MAX], int d, int c) { for(int i=0; i<d; i++) { for(int j=0; j<c; j++) { cout<<setw(4)<<a[i][j]; } cout<<endl; } } Bai 72:tao ma tran a cac so nguyen gom 9 dong 14 cot.Trong do phan tu a[i][j]=i*j #include <iostream> using namespace std; #include <time.h> #include <iomanip> #define MAX 20 void mtsonguyen(int a[][MAX], int &d, int &c) { d=9;c=14; for(int i=0;i<d;i++) for(int j=0;j<c;j++) a[i][j]=i*j; } void xuatmt(int a[][MAX], int d, int n) { for(int i=0;i<d;i++) { for(int j=0;j<c;j++) cout<<setw(4)<<a[i][j]; cout<<endl; } } void main() { int a[MAX][MAX], d, c; mtsonguyen(a,d,c); xuatmt(a,d,c); } 3 Kĩ Thuật Lập Trình Nâng Cao 2010 //Bai 73: Nhap ma tran cac so nguyen duong(nhap sai bao loi khong chon hap) #include<iostream> using namespace std; #include<time.h> #include<iomanip> #define MAX 20 void nhapmt(int a[][MAX], int &d, int &c) { do { cout<<"Nhap so dong: "; cin>>d; }while(d<1||d>MAX); do { cout<<"Nhap so cot: "; cin>>c; }while(c<1||c>MAX); for(int i=0;i<d;i++) for(int j=0;j<c;j++) { do { cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j]; if(a[i][j]<0) exit(1); }while(a[i][j]<0); } } void xuatmt(int a[][MAX], int d, int c) { for(int i=0;i<d;i++) { for(int j=0;j<c;j++) cout<<setw(4)<<a[i][j]; cout<<endl; } } void main() { int a[MAX][MAX], d, c; nhapmt(a,d,c); cout<<"\nMa tran vua nhap\n"; xuatmt(a,d,c); } //bai 74: In cac phan tu co ki so tan cung la 5 void tancungla5(int a[][MAX], int dong, int cot) 4 Kĩ Thuật Lập Trình Nâng Cao 2010 { for(int i=0; i<dong; i++) { for(int j=0; j<cot; j++) if(a[i][j] % 10 ==5) cout<<setw(4)<<a[i][j]; else cout<<setw(4)<<"*"; cout<<endl; } } //bai 75: In cac phan tu nam tren hai duong cheo void Xuat2duongcheo(int a[][MAX],int dong, int cot) { for(int i=0; i<dong; i++) { for(int j=0; j<dong; j++) if(i==j||i+j== dong - 1) cout<<setw(4)<<a[i][j]; else cout<<setw(4)<<" "; cout<<endl; } } //bai 76: In cac phan tu nam phia tren duong cheo phu cua ma tran cac so nguyen void XuatTrenDuongCheoPhu(int a[][MAX],int dong, int cot) { for(int i=0; i<dong; i++) { for(int j=0; j<dong; j++) if(i+j < dong -1) cout<<setw(4)<<a[i][j]; else cout<<setw(4)<<" "; cout<<endl<<endl; } } //bai 77: In cac phan tu nam phia duoi duong cheo phu cua ma tran vuong cac so nguyen void XuatDuoiDuongCheoPhu(int a[][MAX],int dong, int cot) { for(int i=0; i<dong; i++) { for(int j=0; j<dong; j++) if(i+j > dong -1) 5 Kĩ Thuật Lập Trình Nâng Cao 2010 cout<<setw(4)<<a[i][j]; else cout<<setw(4)<<" "; cout<<endl<<endl; } } //bai 78: In cac phan tu nam phia tren duong cheo chinh cua ma tran vuong cac so nguyen void XuatTrenDuongCheoChinh(int a[][MAX], int dong, int cot) { for(int i=0; i<dong; i++) { for(int j=0; j<dong; j++) if(i<j) cout<<setw(4)<<a[i][j]; else cout<<setw(4)<<" "; cout<<endl<<endl; } } //bai 79: In cac phan tu nam phia duoi duong cheo chinh cua ma tran vuong cac so nguyen void XuatDuoiDuongCheoChinh(int a[][MAX], int dong, int cot) { for(int i=0; i<dong; i++) { for(int j=0;j<cot;j++) if(i>j) cout<<setw(4)<<a[i][j]; else cout<<setw(4)<<" "; cout<<endl<<endl; } } void main() { int a[MAX][MAX], dong, cot; char chon; while(1) { cout<<"Chuong trinh mang hai chieu:\n\n"; cout<<"a.Nhap ma tran tu ban phim\n"; cout<<"b.Nhap ma tran ngau nhien\n"; cout<<"c.Xuat ma tran\n"; cout<<"d.Xuat nhung phan tu co ky so tan cung la 5\n"; cout<<"e.Xuat cac phan tu nam tren hai duong cheo\n"; 6 Kĩ Thuật Lập Trình Nâng Cao 2010 cout<<"f.Xuat phan tu tren duong cheo phu\n"; cout<<"g.Xuat phan tu duoi duong cheo phu\n"; cout<<"h.Xuat phen tu tren duong cheo chinh\n"; cout<<"i.Xuat phen tu tren duong cheo chinh\n"; cout<<"z.Thoat\n"; cout<<"Moi ban chon muc: "; cin>>chon; switch(chon) { case 'a':nhapmang2chieubanphim(a,dong,cot); break; case 'b':NhapMaTranNN(a,dong,cot); break; case 'c':xuatmang2chieu(a,dong,cot); break; case 'd':tancungla5(a,dong,cot); case 'e':Xuat2duongcheo(a,dong,cot); case 'f':XuatTrenDuongCheoPhu(a,dong,cot); case 'g':XuatDuoiDuongCheoPhu(a,dong,cot); case 'h':XuatTrenDuongCheoChinh(a,dong,cot); case 'i':XuatDuoiDuongCheoChinh(a,dong,cot); case 'z':exit(1); cout<<"\n\n\n\n\n"; } } } Bai 80-86 #include <iostream> using namespace std; #define MAX 100 #include <iomanip> #include <time.h> void NhapMaTran(int a[][MAX],int &d, int &c) { do { cout<<"Nhap so dong (tu 1 den "<<MAX<< ") : "; cin>>d; }while((d<1) || (d>MAX)); do { cout<<"Nhap so cot (tu 1 den "<<MAX<< ") : "; cin>>c; }while((c<1) || (c>MAX)); for(int i=0; i<d; i++) 7 Kĩ Thuật Lập Trình Nâng Cao 2010 for(int j=0; j<c; j++) { cout<<"Nhap ptu ["<<i<<"]["<<j<<"] ="; cin>>a[i][j]; } } void NhapMaTranNN(int a[][MAX],int &d,int &c) { srand((unsigned)time(NULL)); do { cout<<"Nhap so dong (tu 1 den "<<MAX<< ") : "; cin>>d; }while((d<1) || (d>MAX)); do { cout<<"Nhap so cot (tu 1 den "<<MAX<< ") : "; cin>>c; }while((c<1) || (c>MAX)); for(int i=0; i<d; i++) for(int j=0; j<c; j++) a[i][j]=rand()%100; cout<<"\nDa tao xong ma tran"; } void XuatMaTran(int a[][MAX],int d,int c) { for(int i=0; i<d; i++) { for(int j=0; j<c; j++) cout<<setw(4)<<a[i][j]; cout<<endl; } } /* */ //bai 80: Tinh tong cac phan tu tren cung mot dong int TongDongK(int a[][MAX],int c,int k) { int S=0; for(int j=0; j<c; j++) S=S+a[k][j]; return S; } //bai 81: Tinh tong cac phan tu tren cung mot cot int TongCotK(int a[][MAX],int d,int k) { int S=0; for(int i=0; i<d; i++) 8 Kĩ Thuật Lập Trình Nâng Cao 2010 S=S+a[i][k]; return S; } //bai82: Tinh tong cac ptu chan trong ma tran int TongChan(int a[][MAX],int d,int c) { int S=0; for(int i=0; i<d; i++) for(int j=0; j<c; j++) { if(a[i][j]%2==0) S=S+a[i][j]; } return S; } //bai 83: Tinh tong cac phan tu thuoc duong cheo chinh cua ma tran vuong int TongDuongCheoChinh(int a[][MAX],int d) { int S=0; for(int i=0; i<d; i++) { for(int j=0; j<c; j++) if(i==j) S=S+a[i][j]; } return S; } //bai 84: Tinh tong cac phan tu la so nguyen to co trong ma tran bool LaNguyenTo(int k) { if(k<2) return false; for(int i=2;i<k;i++) if(k%i==0) return false; return true; } int TongNguyenTo(int a[][MAX],int d, int c) { int S1=0; for(int i=0;i<d;i++) { for(int j=0;j<c;j++) if(LaNguyenTo(a[i][j])==true) S1=S1+a[i][j]; } 9 Kĩ Thuật Lập Trình Nâng Cao 2010 return S1; } //bai 85: Tinh tong cac so hoan thien trong ma tran so nguyen(giai rieng) //bai 86: Tinh tong cac phan tu lon nhat tren moi dong int TongMaxDong(int a[][MAX], int d, int c) { int s=0, maxdong=0; for(int i=0;i<d;i++) { for(int j=0;j<c;j++) if(a[i][j]>a[i][maxdong]) maxdong=j; s= s+ a[i][maxdong]; } return s; } void main() { int a[MAX][MAX],d,c; char chon; while(1) { cout<<"Chuong trinh mang 2 chieu\n"; cout<<"a.Nhap ma tran ngau nhien\n"; cout<<"b.Nhap ma tran tu ban phim\n"; cout<<"c.Xuat ma tran\n"; cout<<"d.Tong ptu tren cung dong(80)\n"; cout<<"e.Tong ptu tren cung cot(81)\n"; cout<<"f.Tong cac ptu chan(82)\n"; cout<<"g.Tong duong cheo chinh(83)\n"; cout<<"h.Tong cac phan tu la so nguyen to:(84)\n"; cout<<"i.Tong cac gia tri lon nhat tren moi dong: (86)\n"; cout<<"z.Thoat\n"; cout<<"Moi ban chon muc :"; cin>>chon; switch(chon) { case 'a': NhapMaTranNN(a,d,c); break; case 'b': NhapMaTran(a,d,c); break; case 'c': XuatMaTran(a,d,c); break; case 'd': { 10 [...]... SearchMax(int A[][MAX], int n) { int max=A[0][0]; for(int i=1; imax) max=A[i][i]; return max; } void main() { int A[MAX][MAX], n, d, c; InpuMAtrixRandom(A,n); cout . Kĩ Thuật Lập Trình Nâng Cao 2010 Tài liệu kỹ thuật lập trình nâng cao Ma trận 1 Kĩ Thuật Lập Trình Nâng Cao 2010 MA TRẬN Bai 71-79 #include <iostream> #include. j=0;j<c;j++) cout<<setw(4)<<a[i][j]; cout<<endl; } } void main() { int a[MAX][MAX], d, c; mtsonguyen(a,d,c); xuatmt(a,d,c); } 3 Kĩ Thuật Lập Trình Nâng Cao 2010 //Bai 73: Nhap ma tran cac so nguyen duong(nhap sai. i++) for(int j=0; j<c; j++) { 2 Kĩ Thuật Lập Trình Nâng Cao 2010 a[i][j]=rand() %21; } cout<<"Da tao xong ma tran"; } //Ham xuat void XuatMaTran(int a[][MAX], int d, int c) { for(int