[C\C++] Bài tập Lập trình căn bản với C\C++ [Chữa bài tập - 27/08/13]

Một số bài tập môn Lập trình căn bản với C\C++

Bài 1: Viết chương trình in ra màn hình tất cả số nguyên tố có 5 chữ số.

[Code Tubor C++]
/***************************************
  http://lap-trinh-may-tinh.blogspot.com
****************************************/
#include<iostream.h>
#include<conio.h>

// ham kiem tra so nguyen to
int TestNT(long a){
 for(long k=2;k<a;k++)
  if (a%k==0) return 0;
  return 1;
}
// Ham in ra cac so nguyen to co 5 chu so
void InSoNT(){
 cout<<"\ IN SO NGUYEN TO CO 5 CHU SO:\n";
 for(long i=10000;i<=99999;i++)
  if (TestNT(i)==1)
cout<<i<<"; ";

}

// Ham chinh
void main(){
 InSoNT();
 getch();
}

/***************************************************************/
[Tải code chương trình tại đây - Lưu ý: Sau 5s, Click Bỏ qua quảng cáo (Skin Ad)]

Bài 2: Viết các hàm thực hiện:
 - Nhập vào từ bàn phím ma trân vuông kích thước n (2<= n <=6)
 - In ma trận vừa nhập
 - Tính tổng từng dòng của ma trận
 - Tìm và in ra cột chứa giá trị lớn nhất
 - Đếm số nguyên tố trong ma trận

[Code Tubor C++]
/***************************************
  http://lap-trinh-may-tinh.blogspot.com
****************************************/
#include<iostream.h>
#include<conio.h>
// khai bao
int m[6][6], n;
// nhap ma tran
void NhapMT(){
  // nhap kich thuoc
  cout<<"\n Nhap kich thuoc cua ma tran:" ;
  do{
cout<<"\n n= "; cin>>n;
if(n<2||n>6)
cout<<"\n Nhap lai n!";
  }while(n<2||n>6);
  // nhap ma tran
  cout<<"\n Nhap ma tran:";
  for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
 {
cout<<"\n m["<<i<<"]["<<j<<"]= "; cin>>m[i][j];
 }
}

// In ma tran
void InMT(){
 cout<<"\n In ma tran vua nhap: \n";
 for(int i=0;i<n;i++)
 {
for(int j=0;j<n;j++)
 cout<<m[i][j]<<"\t";
cout<<"\n";
 }
}
// Tinh tong tung dong
void TongDong(){
 int dong[6];
  for(int i=0;i<n;i++){
dong[i]=0;
for(int j=0;j<n;j++)
dong[i]+=m[i][j];
  }
  cout<<"\n Tong dong cua ma tran: ";
  for(i=0;i<n;i++)
cout<<"\n Dong "<<i<<" : "<<dong[i];
}
// Tim cot chua gia tri lon nhat
void TimCotChuaMax(){
 // tim max
 int max=m[0][0], i,j;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
if(max<m[i][j]) max=m[i][j];
 // in cot chua max
 cout<<"\n Nhung cot chua gia tri lon nhat: ";
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
if(max==m[i][j]) cout<<j<<"; ";
}

 // Ham kiem tra so nguyen to
 int TestNT(int a){
  for (int i=2;i<a;i++)
if(a%i==0) return 0;
return 1;
 }

 // Dem so nguyen to trong ma tran
 void DemSNT(){
  int dem=0;
  for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(TestNT(m[i][j])==1) dem++;
cout<<"\n So lan xuat hien cua so nguyen to trong ma tran: "<<dem;
 }
// Ham chinh
void main(){
 NhapMT();
 InMT();
 TongDong();
 TimCotChuaMax();
 DemSNT();
 getch();
}

/***************************************************************/
[Tải code chương trình tại đây - Lưu ý: Sau 5s, Click Bỏ qua quảng cáo (Skin Ad)]

Bài 3: Viết các hàm thực hiện:
 - Nhập vào tọa độ 3 điểm A,B,C trong không gian
 - Tính độ dài đoạn thẳng AB, BC, AC
 - Kiểm tra xem A,B,C có phải là tam giác không, nếu là tam giác thì tính chu vi, diện tích tam giác đó.

[Code Tubor C++]
/***************************************
  http://lap-trinh-may-tinh.blogspot.com
****************************************/
#include<iostream.h>
#include<conio.h>
#include<math.h>

// khai bao
struct ToaDo{
  float x,y,z;
};
// Khai 3 diem A,B,C
ToaDo A,B,C;

// Nhap toa do
void NhapToaDo(){
  cout<<"\n Nhap toa do 3 diem:\n";
  cout<<"  - Nhap toa do diem A: ";
  cout<<"\n XA= "; cin>>A.x;
  cout<<"\n YA= "; cin>>A.y;
  cout<<"\n ZA= "; cin>>A.z;

  cout<<"  - Nhap toa do diem B: ";
  cout<<"\n XB= "; cin>>B.x;
  cout<<"\n YB= "; cin>>B.y;
  cout<<"\n ZB= "; cin>>B.z;

  cout<<"  - Nhap toa do diem C: ";
  cout<<"\n XC= "; cin>>C.x;
  cout<<"\n YC= "; cin>>C.y;
  cout<<"\n ZC= "; cin>>C.z;

}
// Tinhd do dai doan thang
float d(ToaDo P, ToaDo Q){
  return (float)sqrt((P.x-Q.x)*(P.x-Q.x)+(P.y-Q.y)*(P.y-Q.y)+(P.z-Q.z)*(P.z-Q.z));
}
// Kiem tra tam giac
int TestTG(){
 float a=d(B,C), b=d(A,C), c=d(A,B);
 if(a+b==c||a+c==b||b+c==a) return 0;
 return 1;
}
// Tinh chu vi dien tich
void ChuVi_DienTich(){
 cout<<"\n ------------------------ ";
 if(TestTG()==0)
  cout<<"\n 3 diem A,B,C thang hang!";
 else{
  float a=d(B,C), b=d(A,C), c=d(A,B);
  float cv=a+b+c;
  float p=cv/2;
  float s=(float)sqrt(p*(p-a)*(p-b)*(p-c));
  cout<<"\n - Chu vi tam giac: "<<cv<<"\n - Dien tich tam giac: "<<s;
 }
}
// Ham chinh
void main(){
 NhapToaDo();
 cout<<"\n Do dai doan thang AB: "<<d(A,B);
 cout<<"\n Do dai doan thang BC: "<<d(B,C);
 cout<<"\n Do dai doan thang AC: "<<d(A,C);
 ChuVi_DienTich();
 getch();
}

/***************************************************************/

[Tải code chương trình tại đây - Lưu ý: Sau 5s, Click Bỏ qua quảng cáo (Skin Ad)]

TxT