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

Kỹ thuật lập trình nâng cao: Ma trận doc

49 558 5
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

Tiêu đề Ma Trận
Trường học University of Technology and Education
Chuyên ngành Programming Techniques
Thể loại Tài liệu kỹ thuật lập trình nâng cao
Năm xuất bản 2010
Thành phố Hà Nội
Định dạng
Số trang 49
Dung lượng 247 KB

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

Nội dung

//bai 75: In cac phan tu nam tren hai duong cheovoid Xuat2duongcheoint a[][MAX],int dong, int cot... return S1;} //bai 85: Tinh tong cac so hoan thien trong ma tran so nguyengiai rieng /

Trang 1

Tài liệu kỹ thuật lập

trình nâng cao

Ma trận

Trang 2

//Nhap mang 2 chieu tu ban phim

void NhapMaTranTuBanPhim(int a[][MAX], int &d, int &c)

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)

Trang 3

a[i][j]=rand() %21;

}cout<<"Da tao xong ma tran";

cout<<setw(4)<<a[i][j];

}cout<<endl;

Trang 4

//Bai 73: Nhap ma tran cac so nguyen duong(nhap sai bao loi khongchon hap)

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)

//bai 74: In cac phan tu co ki so tan cung la 5

void tancungla5(int a[][MAX], int dong, int cot)

Trang 5

//bai 75: In cac phan tu nam tren hai duong cheo

void Xuat2duongcheo(int a[][MAX],int dong, int cot)

Trang 6

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";

Trang 7

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){

Trang 8

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)

//bai 80: Tinh tong cac phan tu tren cung mot dong

int TongDongK(int a[][MAX],int c,int k)

//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++)

Trang 9

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;

Trang 10

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)

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:

case 'a': NhapMaTranNN(a,d,c); break;

case 'b': NhapMaTran(a,d,c); break;

case 'c': XuatMaTran(a,d,c); break;

case 'd':

{

Trang 12

Bai 86: Tinh tong cac gia tri lon nhat tren moi dong

//Tong cac phan tu lon nhat tren moi dong

int TongPTLNDong(int a[][MAX], int d, int c)

if(a[i][j]<a[mincot][j])

mincot=i;

}

Trang 13

int min, tong=0;

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

{

k=i;

min=a[k][0];

for(int j=1; j<=d-1-i; j++){

if(a[k+1][j]<min)

min=a[k+1][j];

k++;

}tong+=min;

}

Trang 14

vtd = i;

vtc = j;

}}

Trang 15

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

{

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

if(a[i][j]<a[vtd][vtc]){

vtd=i;

vtc=j;

}}

cout<<"Phan tu lon nhat la : "<<a[vtd][vtc]<<endl;

cout<<"Nam o vi tri a["<<vtd<<","<<vtc<<"]";

vtd=i;

vtc=j;

}}

}

//bai 93: Tim phan tu am le lon nhat trong ma tran(sai)

bool AmLeLonNhat(int a[][MAX],int d, int c,int &vtd,int &vtc){

Trang 16

return true;

}return false;

Trang 17

minc=j;

mind=i;

}cout<<a[mind][minc];

cout<<"CHUONG TRINH MANG HAI CHIEU\n\n\n";

cout<<"a.Nhap mang tran ngau nhien\n";

cout<<"b.Nhap ma tran tu ban phim\n";

cout<<"c.Xuat ma tran\n";

cout<<"d.Tim ptu lon nhat\n";

cout<<"e.Tim ptu nho nhat\n";

cout<<"f.Tim ptu chan cuoi\n";

cout<<"g.Tim ptu am le lon nhat\n";

cout<<"h.Tim phan tu chan duong nho nhat\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;

Trang 19

//ham tim so hoan thien dau tien trong ma tran

int SearchFirst_sht(int A[][MAX], int n, int &v, int &d)

{

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

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

if(Test_sht(A[i][j]) == 1){

v=i;

d=j;

return A[i][j];

}return 0;

Trang 21

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

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)

Trang 22

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

{

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

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

return a[i][j];

}}

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

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

}}

cout<<"Chuong trinh mang 2 chieu\n";

cout<<"a.Nhap ma tran ngau nhien\n";

cout<<"b.Nhap ma tran tu ban phim\n";

Trang 23

case 'a': NhapMaTranNN(a,d,c); break;

case 'b': NhapMaTran(a,d,c); break;

case 'c': XuatMaTran(a,d,c); break;

}cout<<"\n\n\n\n";

Trang 24

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

//ham tim so nguyen to cuoi cung trong ma tran

int SearchLast_snt(int A[][MAX], int n, int &v, int &d)

{

for(int i=n-1; i>=0 ;i )

for(int j=n-1; j>=0; j )

if(Test_snt(A[i][j]) == 1){

v=i;

d=j;

return A[i][j];

} return 0;

Trang 28

//ham tim cot co tong nho nhat trong ma tran

int SearchSumMin(int A[][MAX], int n, int &d, int &c)

d=i;

c=j;

min=s2;

}}

Trang 29

cout<<"Nhap phan tu thu ["<<i<<"]["<<j<<"]= ";cin>>a[i][j];

}}

void NhapMaTranNgauNhien(int a[][MAX], int &d, int &c)

Trang 30

//bai 103 dem cac gia tri le trong ma tran cac so nguyen

int DemGTLe(int a[][MAX], int d, int c)

Trang 32

//dem cac cuc tri trong ma tran cac so nguyen

int Dem_Cuc_Tri(int a[][MAX], int d, int c)

Trang 33

cout<<"4.Dem gia tri le\n";

cout<<"5.Dem cac gia tri nho hon x\n";

cout<<"6.Dem cac phan tu la so nguyen to\n";

cout<<"7.Dem phan tu cuc dai\n";

cout<<"8.Dem phan tu cuc tieu\n";

cout<<"9.Dem cuc tri\n";

cout<<"10.Dem cac so hoan thien trong ma tran\n";

Trang 35

cout<<"Nhap ptu ["<<i<<"]["<<j<<"] =";

cin>>a[i][j];

}}

void NhapMaTranNN(int a[][MAX],int &d,int &c)

int temp=a[i];

a[i]=a[j];

Trang 36

}}

void SapxepMaTranTang(int a[][MAX], int d, int c)

bai 112: Sap xep tat ca ca dong deu tang dan

void SapXepDongTangDan(int a[][MAX], int d, int c)

{

Trang 37

int tam=a[i][j];

a[i][j]=a[i][k];

a[i][k]=tam;

}}

}

}

bai 113: sap xep tat ca ca cot giam dan

void SapXepCotGiamDan(int a[][MAX], int d, int c)

{

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

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

for(int k=i+1; k<d; k++){

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

int tam=a[i][j];

a[i][j]=a[k][j];

a[k][j]=tam;

}}

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

c[l++]=a[j++][i++];

Trang 38

cout<<"CHUONG TRINH MANG HAI CHIEU\n\n\n";

cout<<"a.Nhap mang tran ngau nhien\n";

cout<<"b.Nhap ma tran tu ban phim\n";

cout<<"c.Xuat ma tran\n";

cout<<"d.Sap xep ma tran tang:\n";

cout<<"e.Sap xep ma tran giam:\n";

cout<<"f.Sap xep dong tang dan\n";

cout<<"g.Sap xep cot giam dan\n";

cout<<"h.Tong gia tri nho nhat\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': SapxepMaTranTang(a,d,c); break;

case 'e': SapxepMaTranGiam(a,d,c); break;

case 'f': SapXepDongTangDan(a,d,c); break;

case 'g': SapXepCotGiamDan(a,d,c); break;

case 'z': exit(1);

}cout<<"\n\n\n\n";

Trang 39

k=i;

}}

if(TongPTLNDong(a,d,c)==1)a[i][j]=a[i+1][j];

}d ;

max=s1;

k=i;

Trang 40

min=s1;

k=i;

}}

void DoiCho(int a[][MAX], int d, int c, int &k)//(Giang viết){

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

HoanVi(a[SumMax(a,d,c,k)][j],a[SumMin(a,d,c,k)][j]);}

Trang 42

dần (Không cho phép sắp xếp trên dãy a)

4)cho ma trận số nguyên cấp n*m cài đặt các hàm thực hiện các thao tác trên ma trận

c) xóa dòng và cột chứa phân tử nhỏ nhất

d) nhập số nguyên dương k (k<n) và dãy có n số thực, chèn dãy đó vào dòng k

e) nhập số nguyên dương K (k<m) và dãy có m số thực, chèn dãy đó vào cột k

f) hoán vị các dòng sao cho tổng giá trị của từng dòng giảm từ trên xống

7) nhập ma trận ký tự, vuông cấp n thực hiện các thao tác:

a) đổi các ký tự anphabe thành ký tự in hoa

b) cho biết dòng nào có nhiu nguyên âm nhất ( nếu có 2 dòng thì in dòng phía trên)

Trang 43

327 Tổng các giá trị nằm trên biên của ma trận

Trang 47

399 Dịch trái xoay vòng theo chiều kim đồng hồ các giá trị nằm trên biên

411 Xuất giá trị chẵn trong ma trận theo thứ tự giảm dần

412 Xuất các số nguyên tố theo thứ tự tăng dần

413 Sắp xếp theo yêu cầu: Dòng có chỉ số chẵn tăng dần, lẻ giảm dần

Trang 48

mảng phụ và ko sử dụng mảng phụ (như bài 415 thêm điều kiện xét ptử chẵn và đổi dấu > thành <)

418 Sắp xếp âm tăng dần, dương giảm dần, 0 giữ nguyên

http://taiachau.com/4rum/viewtopic.php?f=88&t=807

419 Sắp xếp chẵn tăng, lẻ giảm (như bài 418 chỉ sửa lại điều kiện)

420 Sắp xếp các giá trị nằm trên biên ma trận tăng dần

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

int temp = a[i][0];

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

a[i][j] = a[i][j+1]

a[i][m-1]= temp

Trang 49

Cho ma trận vuông cấp n có 2n-1 đường chéo song song với đường

chéo phụ được đặt tên là 0 đến 2*n-2 Hãy cho biết đường chéo nào có tổng lớn nhất ?

#include<stdio.h>

int main()

{

int n,tong,max,A[10][10],i,j,k;

printf("nhap vao cap cua ma tran:");

Ngày đăng: 10/07/2014, 03:21

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w