Ngôn ngưc lập trình c++
bài tập ngôn ngữ lập trình C++ Trang 1 Bài tập: Viết chơng trình nhập vào tọa độ 3 điểm: A(x1,y1), B(x2,y2), C(x3,y3). Kiểm tra xem 3 điểm đó có phải là 3 đỉnh của 1 tam giác hay không? Nếu có thì hãy tính chu vi và diện tích của tam giác đó. #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> #include<iostream.h> #include<iomanip.h> class toado { public: int x,y; public: void nhap(); void in(); }; void toado::nhap() { cout<<"\nnhap hoanh do x:"; cin>>x; cout<<"nhap tung do y:"; cin>>y; } void toado::in() { cout<<"("<<x<<","<<y<<")"; } toado A,B,C; int kt() { if ((A.x-B.x)*(C.y-B.y)==(C.x-B.x)*(A.y-B.y)) return 0; else return 1; } float kc(toado P,toado Q) { return sqrt((Q.x-P.x)*(Q.x-P.x)+(Q.y-P.y)*(Q.y-P.y)); } Trang 2 float chuvi() { return (kc(B,C)+kc(A,C)+kc(A,B)); } float dientich() { float p; p=chuvi()/2; return sqrt(p*(p-kc(B,C))*(p-kc(A,C))*(p-kc(A,B))); } void main() { clrscr(); cout<<"\nnhap toa do A:"; A.nhap(); cout<<"\nnhap toa do B:"; B.nhap(); cout<<"\nnhap toa do C:"; C.nhap(); cout<<"\ntoa do A:"; A.in(); cout<<"\ntoa do B:"; B.in(); cout<<"\ntoa do C:"; C.in(); if (kt()==0) cout<<"\n3 diem tren khong phai la 3 dinh cua tam giac"; else { cout<<"\n3 diem tren la 3 dinh cua tam giac:"; cout<<"\nchu vi tam giac="<<chuvi(); cout<<"\ndien tich tam giac="<<dientich(); } getch(); } Trang 3 Bài tập: Xây dựng lớp tamgiac với dữ liệu là 3 cạnh của tam giác và các ph- ơng thức: nhập dữ liệu, tính chu vi tam giác. Xây dựng lớp dientich kế thừa lớp tamgiac nói trên và có thêm phơng thức tính diện tích của tam giác. Nhập vào một danh sách các tam giác, đa ra chu vi và diện tích của các tam giác. #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> #include<iostream.h> #include<iomanip.h> class tamgiac { public: float a,b,c; public: void nhap(); float chuvi(); }; void tamgiac::nhap() { cout<<"\nnhap 3 canh a,b,c="; do { cin>>a>>b>>c; if ((a<=0)||(b<=0)||(c<=0)||(a+b<c)||(b+c<a)||(a+c<b)) cout<<"\nmoi nhap lai:"; } while ((a<=0)||(b<=0)||(c<=0)||(a+b<c)||(b+c<a)||(a+c<b)); } float tamgiac::chuvi() { return (a+b+c); } class dientich:public tamgiac { public: Trang 4 float p; public: float tinh(); }; float dientich::tinh() { p=tamgiac::chuvi()/2; return sqrt(p*(p-a)*(p-b)*(p-c)); } dientich dt[100]; int n; void nhapds() { int i; cout<<"\nnhap so tam giac="; cin>>n; for (i=1;i<=n;i++) { cout<<"\nnhap tam giac thu "<<i<<":"; dt[i].nhap(); } } void inds() { int i; for (i=1;i<=n;i++) { cout<<"\ntam giac thu "<<i<<":"; cout<<"\nchu vi tam giac="<<dt[i].chuvi(); cout<<"\ndien tich tam giac="<<dt[i].tinh(); } } void main() { clrscr(); nhapds(); inds(); getch(); } Trang 5 Bài tập: Xây dựng lớp tamgiac với dữ liệu là 3 cạnh của tam giác và các ph- ơng thức: nhập dữ liệu, tính chu vi tam giác. Xây dựng lớp duongcao kế thừa lớp tamgiac nói trên và có thêm phơng thức tính chiều cao ứng với cạnh a của tam giác. Nhập vào một danh sách các tam giác, đa ra chu vi và chiều cao ứng với cạnh a của các tam giác. #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> #include<iostream.h> #include<iomanip.h> class tamgiac { public: float a,b,c; public: void nhap(); float chuvi(); }; void tamgiac::nhap() { cout<<"\nnhap 3 canh a,b,c="; do { cin>>a>>b>>c; if ((a<=0)||(b<=0)||(c<=0)||(a+b<=c)||(b+c<=a)||(a+c<=b)) cout<<"\nmoi nhap lai:"; } while ((a<=0)||(b<=0)||(c<=0)||(a+b<=c)||(b+c<=a)||(a+c<=b)); } float tamgiac::chuvi() { return (a+b+c); } class duongcao:public tamgiac { public: Trang 6 float p; public: float tinh(); }; float duongcao::tinh() { p=tamgiac::chuvi()/2; return (2*sqrt(p*(p-a)*(p-b)*(p-c)))/a; } duongcao dc[100]; int n; void nhapds() { int i; cout<<"\nnhap so tam giac="; cin>>n; for(i=1;i<=n;i++) { cout<<"\nnhap tam giac thu "<<i<<":"; dc[i].nhap(); } } void inds() { int i; for(i=1;i<=n;i++) { cout<<"\ntam giac thu "<<i<<":"; cout<<"\nchu vi tam giac="<<dc[i].chuvi(); cout<<"\nduong cao ung voi canh a cua tam giac="<<dc[i].tinh(); } } void main() { clrscr(); nhapds(); inds(); getch(); } Trang 7 Bài tập: Xây dựng lớp tamgiac với dữ liệu là 3 cạnh của tam giác và các ph- ơng thức: nhập dữ liệu, tính chu vi tam giác. Xây dựng lớp trungtuyen kế thừa lớp tamgiac nói trên và có thêm phơng thức tính đờng trung tuyến ứng với cạnh a của tam giác. Nhập vào một danh sách các tam giác, đa ra chu vi và đờng trung tuyến ứng với cạnh a của các tam giác. #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> #include<iostream.h> #include<iomanip.h> class tamgiac { public: float a,b,c; public: void nhap(); float chuvi(); }; void tamgiac::nhap() { cout<<"\nnhap 3 canh a,b,c="; do { cin>>a>>b>>c; if ((a<=0)||(b<=0)||(c<=0)||(a+b<c)||(b+c<a)||(a+c<b)) cout<<"\nmoi nhap lai:"; } while ((a<=0)||(b<=0)||(c<=0)||(a+b<c)||(b+c<a)||(a+c<b)); } float tamgiac::chuvi() { return (a+b+c); } class trungtuyen:public tamgiac { public: Trang 8 float tinh(); }; float trungtuyen::tinh() { return sqrt((b*b+c*c)/2-(a*a)/4); } trungtuyen tt[100]; int n; void nhapds() { int i; cout<<”\nnhap so tam giac=”; cin>>n; for (i=1;i<=n;i++) { cout<<”\nnhap tam giac thu “<<i<<”:”; tt[i].nhap(); } } void inds() { int i; for (i=1;i<=n;i++) { cout<<”\ntam giac thu “<<i<<”:”; cout<<\nchu vi tam giac=<<tt[i].chuvi(); cout<<\ndo dai duong trung tuyen ke tu dinh A=<<tt[i].tinh(); } } void main() { clrscr(); nhapds(); inds(); getch(); } Trang 9 Bài tập: Viết một chơng trình trong đó có các hàm nh sau: - Hàm mang tên vao trong đó máy nhận vào một số thực a dơng. - Hàm mang tên hinhvuong là một chơng trình tính chu vi, diện tích và đờng chéo của hình vuông cạnh a. - Hàm mang tên hinhtron là một chơng trình tính chu vi, diện tích của hình tròn bán kính a. - Hàm mang tên tamgiac là một chơng trình tính chu vi, diện tích và đờng cao của hình tam giác đều cạnh a. Phần thân của chơng trình gọi đến cả 4 hàm trên. #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> #include<iostream.h> #include<iomanip.h> #define pi 3.14 class vao { public: float a; public: void nhap(); }; void vao::nhap() { cout<<"\nnhap a="; do { cin>>a; if (a<=0) cout<<"\nmoi nhap lai:"; } while (a<=0); } class hinhvuong:public vao { public: float chuvi(); float dientich(); float duongcheo(); void in(); Trang 10 }; float hinhvuong::chuvi() { return a*4; } float hinhvuong::dientich() { return a*a; } float hinhvuong::duongcheo() { return sqrt(2*a*a); } void hinhvuong::in() { cout<<"\nhinh vuong canh a="<<a<<":"; cout<<"\nchu vi="<<chuvi(); cout<<"\ndien tich="<<dientich(); cout<<"\nduong cheo="<<duongcheo(); } class hinhtron:public vao { public: float chuvi(); float dientich(); void in(); }; float hinhtron::chuvi() { return 2*pi*a; } float hinhtron::dientich() { return pi*a*a; } void hinhtron::in() { cout<<"\nhinh tron ban kinh a="<<a<<":"; cout<<"\nchu vi="<<chuvi(); cout<<"\ndien tich="<<dientich(); } class tamgiac:public vao { Trang 11 public: float p; public: float chuvi(); float dientich(); float duongcao(); void in(); }; float tamgiac::chuvi() { return a*3; } float tamgiac::dientich() { p=chuvi()/2; return sqrt(p*(p-a)*(p-a)*(p-a)); } float tamgiac::duongcao() { return (2*sqrt(p*(p-a)*(p-a)*(p-a)))/a; } void tamgiac::in() { cout<<\nhinh tam giac deu canh a=<<a<<:; cout<<\nchu vi:<<chuvi(); cout<<\ndien tich:<<dientich(); cout<<\nduong cao:<<duongcao(); } void main() { clrscr(); hinhvuong v; v.nhap(); v.in(); hinhtron o; o.nhap(); o.in(); tamgiac t; t.nhap(); t.in(); getch(); } Trang 12 Bài tập: Một ngôi nhà có một tọa độ biểu diễn vị trí là (x,y). Nhập vào một danh sách các ngôi nhà, đa ra khoảng cách giữa từng cặp ngôi nhà và cho biết khoảng cách giữa 2 ngôi nhà xa nhất là bao nhiêu? #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> #include<iostream.h> #include<iomanip.h> class toado [...]... O" . bài tập ngôn ngữ lập trình C++ Trang 1 Bài tập: Viết chơng trình nhập vào tọa độ 3 điểm: A(x1,y1), B(x2,y2), C(x3,y3). Kiểm tra. chơng trình tính chu vi, diện tích của hình tròn bán kính a. - Hàm mang tên tamgiac là một chơng trình tính chu vi, diện tích và đờng cao của hình tam giác đều cạnh a. Phần thân của chơng trình. getch(); } Trang 9 Bài tập: Viết một chơng trình trong đó có các hàm nh sau: - Hàm mang tên vao trong đó máy nhận vào một số thực a dơng. - Hàm mang tên hinhvuong là một chơng trình tính chu vi, diện tích