Bài tập TH Kỹ thuật lập trình C\C++ (16-11-2012)




/* Bài 1: Viết các hàm:
1- Nhap 1 day so nguyen co n so (1<=n<=100, n nhap vao tu bp)
2- In day
3- Tach day thanh 2, 1 day chua so chan, 1 day chua so le
4- sap xep tang (select-sort)
5- Sap xep giam (insert-sort)
*/

#include<iostream.h>
#include<conio.h>
#include<stdio.h>

// khai bao
int a[100],n, dayChan[100],nChan, dayLe[100],nLe ;

// Nhap day
void NhapDay(){
// Nhap so phan tu
do{ cout<<"\n n="; cin>>n;
if (n<1 || n>100)
cout<<"\n Nhap lai n!";
}while (n<1 || n>100);

// Nhap day so
cout<<"\n Nhap day so:";
for(int i=0;i<n;i++)
{
cout<<"\n a["<<i<<"]="; cin>>a[i];
}
}

// In day
void InDay(int a[], int n){
cout<<"\n In day:\n";
for(int i=0;i<n;i++)
cout<<a[i]<<"; ";
}
// Tach day
void TachDay(int a[], int n){
cout<<"\n + Tach day:\n";
int chan=0,le=0;
for (int i=0;i<n;i++)
if(a[i]%2==0)
dayChan[chan++]=a[i];
else
dayLe[le++]=a[i];

if(le!=0) nLe=le;
if (chan!=0) nChan=chan;
}


// sap xep Select_sort
void Select_Sort(int a[], int n){
cout<<"\n + Sap xep tang dan:\n";
int m;
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(a[i]>a[j])
{ // doi cho
int t=a[i];
a[i]=a[j];
a[j]=t;
}

}

// Sap xep Insert_sort
void Insert_Sort(int a[], int n){
cout<<"\n + Sap xep giam dan:\n";
for(int i=0;i<n;i++)
{
int post=i;
int x=a[post+1];
// tim vi tri chen va dich phai
while(post>-1&&x>a[post]){
a[post+1]=a[post];
post--;
}
// chen vao
a[post+1]=x;
}
}

// Lop chinh

void main(){
clrscr();
NhapDay();
InDay(a,n);

TachDay(a,n);
InDay(dayChan,nChan);
InDay(dayLe,nLe);

Select_Sort(a,n);
InDay(a,n);

Insert_Sort(a,n);
InDay(a,n);

getch();
}


//------------------------------------------------------------------------------------------------------------------

/* Bài 2: Viêt các hàm:
1- Nhap vao toa do 3 diem A,B,C trong khong gian
2- Tinh do dai AB,BC, AC
3- Neu 3 diem khong thang hang di tinh chu vi dien tich tam giac
*/

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>

// khai bao
struct ToaDo{
float x,y,z;
};

ToaDo A,B,C;


// Nhap toa do 3 diem
void NhapToaDo(){
cout<<"\n Nhap toa do A: "; cin>>A.x>>A.y>>A.z;
cout<<"\n Nhap toa do B: "; cin>>B.x>>B.y>>B.z;
cout<<"\n Nhap toa do C: "; cin>>C.x>>C.y>>C.z;
}

// Tinh do dai 3 canh
float AB(){
return sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y)+(A.z-B.z)*(A.z-B.z));
}
float AC(){
return sqrt((A.x-C.x)*(A.x-C.x)+(A.y-C.y)*(A.y-C.y)+(A.z-C.z)*(A.z-C.z));
}
float CB(){
return sqrt((C.x-B.x)*(C.x-B.x)+(C.y-B.y)*(C.y-B.y)+(C.z-B.z)*(C.z-B.z));
}

// Kiem tra tinh thang hang

int ThangHang(){
if (AB()+CB()==AC()||AB()+CB()==AB()||AB()+AC()==CB())
return 1;
return 0;
}
// Tinh chu vi dien tich
void CV_DT(){
if (ThangHang()==1)
cout<<"\n 3 diem A,B,C thang hang";
else{
cout<<"\n Chu vi: "<<(AB()+CB()+AC());
float p=(AB()+CB()+AC())/2;

cout<<"\n Dien tich: "<<sqrt(p*(p-AB())*(p-AC())*(p-CB()));

}
}

void main(){
clrscr();
NhapToaDo();

CV_DT();

getch();
}

Categories

AI (13) AI programming (1) ASP (1) Android (31) App Honeygain (4) Assembly (17) Biểu diễn thuật toán (1) Bubble-Sort (1) Bài giảng (2) Bài giảng lập trình C và Cpp (21) Bài viết hay (104) Bản đồ tư duy (1) C Plus Plus (103) C/C++ (16) CDSL phân tán (1) CSS (2) Cơ sở dữ liệu (11) Danh ngôn lập trình (1) Datamining (4) Genetic Algorithm (1) Giáo trình (2) Giải thuật tiến hóa - thuật toán di truyền (2) Google App Engine (2) Góc học tập (34) HTML (1) Hướng dẫn kiếm tiền online tại nhà (6) Hướng dẫn sử dụng Emu8086 (1) Học lập trình (131) Học lập trình C và CPP qua ví dụ (17) Java (54) Java Căn bản (6) JavaScript (5) Kỹ năng đọc hiệu quả (1) Kỹ thuật lập trình (16) Kỹ thuật đồ họa máy tính (10) Lý thuyết Cơ sở dữ liệu (2) Lý thuyết đồ thị (11) Lập trình Cơ sở dữ liệu (2) Lập trình Python (2) Lập trình căn bản (8) Lập trình hướng đối tượng với Java (7) Lập trình mobile (7) Lập trình mạng (6) Lập trình nhúng (1) Lập trình trí tuệ nhân tạo (2) ML (1) MMO (6) MS Access (1) Machine learning (2) Mạng máy tính (1) Mẹo tìm kiếm trên Google (1) Nghiên cứu khoa học (2) Ngôn ngữ lập trình (2) Những cuốn sách hay mà bạn nên đọc khi còn trẻ (1) Pascal (3) Phương pháp tính toán tối ưu (2) Phương pháp tối ưu (2) Quản lý dự án CNTT (1) SEO (1) SQL (5) Swift (9) Sách hay (4) Thiết kế Web (2) Thuật toán (51) Thuật toán Sắp Xếp -Sort (9) Thuật toán Tìm kiếm - Search (5) Thuật toán di truyền (4) Thực hành Android (2) Tin học văn phòng (5) Tiện ích máy tính (3) Toán rời rạc (13) Treo máy kiếm tiền (3) Trí tuệ nhân tạo (18) Tài liệu tham khảo (4) Tìm hiểu Blockchain (2) Tự học Android (3) Tự học Android qua ví dụ (1) Tự học JavaScript (1) Tự học lập trình (7) Tự học lập trình Android (17) Tự học lập trình C và CPP (14) Tự học lập trình java qua các ví dụ (8) XML (1) blockchain (2) bài giảng quản lý dự án CNTT (1) bài tập java (3) bài tập lập trình (4) cấu trúc dữ liệu giải thuật (15) hướng dẫn viết báo (1) học lập trình Java (11) học máy (5) hợp ngữ (8) lập trình viên (3) phưng pháp đơn hình (2) thuật toán AI (2) tài liệu CNTT miễn phí (3) tính toán tối ưu (1) tự học lập trình iOS (8) tự học lập trình python (1) ví dụ Assembly (1) Đại số gia tử và ứng dụng (1) Đồ họa (4)