Lap Trinh
Lap Trinh
2
std::cout << "Giá tr? c?a bi?u th?c là: " << result << cout << "nhap n: ";
std::endl; cin >> n;
return 0; cout << "So Fibonacci thu " << n << " la: " << Fibonacci(n);
} return 0;}
Ktra tam giac; xuat nhap mang; xuát mang 4 hang 4 cot; mảng tăng dần
#include<stdio.h>// kiểm tra tam giác #include<stdio.h>
#include<conio.h> #include<iostream>
void KiemTraTamGiac(int a, int b, int c) #include<conio.h>
{ if(a + b <= c || a + c <= b || b + c <= a){ #include<string.h>
printf("\nTam giac khong hop le. Xin kiem tra lai !"); using namespace std;
} else { char hoten [30];
printf("\nDay la tam giac: "); int toan;
if((a == b) && (b == c)) { int van;
printf("Deu"); } float DiemTrungBinh;
else { void Nhap()
if(a * a + b * b == c * c || a * c + c * c == b * b || { fflush(stdin);
b * b + c * c == a * c) { printf("Vuong"); } printf("\nNhap ho ten: "); gets(hoten);
if(a == b || a == c || b == c) { printf("Can"); } printf("\nNhap toan: "); scanf("%d", &toan);
else { printf("Thuong"); } } } printf("\nNhap van: "); scanf("%d", &van); }
else if(a == b || a == c || b == c) { printf("\nTam void XuLy() {
giac can"); } DiemTrungBinh = (toan + van) / 2.0; }
else if(a * a + b * b == c * c || a * c + c * c == b * b || b void Xuat() {
* b + c * c == a * c) cout<<"ho " }
{ printf("\nTam giac vuong"); } int main()
Else {printf("\nTam giac thuong"); } } {
int main(){ Nhap();
int a, b, c; XuLy();
printf("\nNhap canh a: "); Xuat();
scanf("%d", &a);
printf("\nNhap canh b: "); getch();
scanf("%d", &b); return 0;
printf("\nNhap canh c: "); }
scanf("%d", &c);
KiemTraTamGiac(a, b, c);
return 0;
}
So lan xuat hiẹn cua x; kiem tra tăng dan ; xoa 1 phan tu ; xoa các phan tu trung
nhau
int DemSoLanXuatHienCuaX(int a[], int n, int x) int KiemTraTangDan(int a[], int n)
{ {
int dem = 0; int flag = 1;
for(int i = 0; i < n; i++) for(int i = 0; i < n - 1; i++)
{ {
if(a[i] == x) if(a[i] > a[i + 1])
{ {
dem++; flag = 0;
} break;
} }
return dem; }
} return flag;
int KiemTraNguyenTo(int n) }
{ void Xoa1PhanTu(int a[], int &n, int ViTriXoa)
if (n < 2) { return 0; } {
else if (n > 2){ for(int i = ViTriXoa; i < n; i++)
if (n % 2 == 0) {return 0; } {
for (int i = 3; i <= sqrt((float)n); i += 2) { a[i] = a[i + 1];
if (n % i == 0) { }
return 0;} } } n--;
return 1; } }
int DemSoNguyenTo(int a[], int n) { void XoaCacPhanTuTrungNhau(int a[], int &n)
int dem = 0; {for(int i = 0; i < n; i++) {
for(int i = 0; i < n; i++) { for(int j = i + 1; j < n; j++) {
if(KiemTraNguyenTo(a[i]) == 1){ if(a[i] == a[j]){
dem++;} Xoa1PhanTu(a, n, j);
return dem;] j--; } } } }
if(dem == cot) {
cout << "Hàng " << i + 1 << " co cac phan tu
am." << endl;
}
}
}
Đề bài: Viết chương trình định nghĩa kiểu cấu trúc NGAYTHANG bao gồm 3 thuộc tính (ngày, tháng,
năm). Dựa trên kiểu cấu trúc NGAYTHANG đã có, tiếp tục định nghĩa kiểu câu trúc SinhVien bao
gồm các thông tin (mã sinh viên, họ đệm, tên, ngày tháng năm sinh, giới tính, hộ khẩu thường trú,
điểm thi đại học). Viết các hàm con thực hiện các chức năng sau đây:
Sắp xếp danh sách sinh viên theo điểm tăng dần.
#include<iostream>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<limits>
struct NGAYTHANG {
int ngay;
int thang;
int nam;
};
struct SV {
char masv[12];
char hodem[30];
char ten[10];
NGAYTHANG ngsinh;
char gioitinh[4];
char hokhau[20];
float diem;
};
6
void Nhapsv(SV *sv) {
cin.ignore(256, '\n');// Dòng này xóa bỏ bất kỳ dữ liệu còn sót lại trong bộ nhớ đệm của đối tượng `cin
cout << "\tMa sv: ";
scanf(" %[^\n]s", sv->masv);// Dòng này sử dụng `scanf` để nhập mã sinh viên và lưu vào biến `masv` của
đối tượng `sv`.
cout << "\tHo dem: ";
scanf(" %[^\n]s", sv->hodem);
cout << "\tTen: ";
scanf(" %[^\n]s", sv->ten);
cout << "\tNgay sinh: ";
cin >> sv->ngsinh.ngay;
cout << "\tThang sinh: ";
cin >> sv->ngsinh.thang;
cout << "\tNam sinh: ";
cin >> sv->ngsinh.nam;
cout << "\tGioi tinh: ";
scanf(" %[^\n]s", sv->gioitinh);
cout << "\tHo khau: ";
scanf(" %[^\n]s", sv->hokhau);
cout << "\tDiem: ";
cin >> sv->diem;
}
void Hienthisv(SV *sv) {
cout << sv->masv;
cout << "\t" << sv->hodem;
cout << " " << sv->ten;
cout << "\t" << sv->ngsinh.ngay;
cout << "-" << sv->ngsinh.thang;
cout << "-" << sv->ngsinh.nam;
cout << "\t" << sv->gioitinh;
cout << "\t" << sv->hokhau;
cout << "\t" << sv->diem;
}
void Nhapds(SV *p, int n) {// SV *p:con trỏ kiểu sv
for (int i = 0; i < n; i++) {
cout << "Nhap thong tin cua sv thu " << i + 1 << " :" << endl;
Nhapsv(p + i); gọi hàm nhập sinh viện
}
}
void Hienthids(SV *p, int n) {
for (int i = 0; i < n; i++) {
Hienthisv(p + i);
cout << "\n";
}
}
void Sapxep(SV *p, int n) {///
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++)
7
if ((p + i)->diem > (p + j)->diem) {
SV tmp = * (p + j);
*(p + j) = * (p + i);
*(p + i) = tmp;}}}} Với mỗi phần tử `p[i]` trong danh sách (từ phần tử đầu tiên đến phần tử thứ `n-1`): -
Duyệt qua các phần tử `p[j]` sau `p[i]` (từ `i+1` đến `n-1`). - Nếu `p[i].diem > p[j].diem` (điểm số của `p[i]` lớn
hơn điểm số của `p[j]`), ta hoán đổi chỗ nhau để làm cho danh sách được sắp thứ tự tăng dần theo điểm số.
Việc hoán đổi chỗ được thực hiện bằng cách sử dụng một biến tạm `tmp` để lưu trữ thông tin của `p[j]`, sau đó
thực hiện gán `p[j] = p[i]` và `p[i] = tmp`.
int main() {
SV *p;
int n;
do {
cout << "Nhap vao so sv: ";
cin >> n;
}
while (n < 0 || n > 10);
p = new SV[n];
cout << "Nhap vao thong tin " << n << " sv: " << endl;
Nhapds(p, n);
cout << "Hien thi thong tin vua nhap: " << endl;
Hienthids(p, n);
cout << "\nDanh sach sau khi sap xep la: " << endl;
Sapxep(p, n);
Hienthids(p, n);
delete p;
return 0;
}
- Nhập thông tin SV gồm: họ tên, địa chỉ, tuổi, điểm toán, lý, hóa.
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<string.h>
8
// Dinh nghia cau truc SV
struct SV{
char ht[30],dc[50];
int tuoi;
float dT,dL, dH;
};
9
else
if (dtk<8)
strcpy(xepLoai,"Kha");
else
if (dtk<9)
strcpy(xepLoai,"Gioi");
else if (dtk<=10)
strcpy(xepLoai,"XS");
else
strcpy(xepLoai,"");
// in thong tin sinh vien
cout<<"\n In sinh vien: ";
cout<<"\n - Ho ten: "<<a.ht;
cout<<"\n - Dia chi: "<<a.dc;
cout<<"\n - Tuoi: "<<a.tuoi;
cout<<"\n - Diem tong ket: "<<dtk;
cout<<"\n - Xep loai: "<<xepLoai;
}
// Ham main
int main(){
NhapTT();
InTT();
getch() ;
return 0;
}
10
Định nghĩa một cấu trúc dữ liệu sinh viên bao gồm:
#include <iostream>
#include <string>
struct SinhVien {
string maSo;
string hoTen;
string diaChi;
float diemToan;
float diemLy;
float diemHoa;
};
int main() {
SinhVien danhSachSV[n];
11
// Nhập thông tin sinh viên
cout << "Sinh vien thu " << i+1 << endl;
cin.ignore();
getline(cin, danhSachSV[i].hoTen);
getline(cin, danhSachSV[i].diaChi);
float maxTongDiem = 0; khoi tao bien luu tong diem cao nhất
SinhVien svMaxTongDiem;// khoi tao biên luu thong tin sinh viên có tong diêm coa nhat
maxTongDiem = tongDiem;
svMaxTongDiem = danhSachSV[i];
12
}
cout << "Sinh vien co tong diem 3 mon cao nhat: " << svMaxTongDiem.hoTen << endl;
SinhVien svMinTongDiemToanLy;
minTongDiemToanLy = tongDiem;
svMinTongDiemToanLy = danhSachSV[i];
cout << "Sinh vien co tong diem toan va ly thap nhat: " << svMinTongDiemToanLy.hoTen << endl;
float maxDiemHoa = 0;
SinhVien svMaxDiemHoa;
maxDiemHoa = danhSachSV[i].diemHoa;
svMaxDiemHoa = danhSachSV[i];
cout << "Sinh vien co diem hoa cao nhat: " << svMaxDiemHoa.hoTen << endl;
SinhVien svMinDiemToan;
13
for (int i = 0; i < n; i++) {
minDiemToan = danhSachSV[i].diemToan;
svMinDiemToan = danhSachSV[i];
cout << "Sinh vien co diem toan thap nhat: " << svMinDiemToan.hoTen << endl;
SinhVien svMinTongDiem;
minTongDiem = tongDiem;
svMinTongDiem = danhSachSV[i];
cout << "Sinh vien co tong diem 3 mon thap nhat: " << svMinTongDiem.hoTen << endl;
return 0;
Contents
Câu 1: giải pt bậc 2; bảng cửu chương ; hệ pt bậc nhất 2 ẩn; ktra số ngto ........................................................................................ 1
Số hoàn thiện ; ước ; số đảo ngược; ham luy thuy ; day fibonaci....................................................................................................... 2
Ktra tam giac; xuat nhap mang; xuát mang 4 hang 4 cot; mảng tăng dần .......................................................................................... 3
So lan xuat hiẹn cua x; kiem tra tăng dan ; xoa 1 phan tu ; xoa các phan tu trung nhau ................................................................... 4
Matran tim max ;tao ngẫu nhiên ; tim phan tu am .............................................................................................................................. 5
Đề bài: Viết chương trình định nghĩa kiểu cấu trúc NGAYTHANG bao gồm 3 thuộc tính (ngày, tháng,
năm). Dựa trên kiểu cấu trúc NGAYTHANG đã có, tiếp tục định nghĩa kiểu câu trúc SinhVien bao gồm các
14
thông tin (mã sinh viên, họ đệm, tên, ngày tháng năm sinh, giới tính, hộ khẩu thường trú, điểm thi đại
học). Viết các hàm con thực hiện các chức năng sau đây: ............................................................................................. 6
Nhập danh sách sinh viên từ bàn phím. .................................................................................................................................. 6
Hiển thị danh sách sinh viên đã nhập. ..................................................................................................................................... 6
Sắp xếp danh sách sinh viên theo điểm tăng dần. ............................................................................................................. 6
Hiển thị danh sách sau khi sắp xếp. ......................................................................................................................................... 6
viết các hàm thực hiện............................................................................................................................................................................ 8
- Nhập thông tin SV gồm: họ tên, địa chỉ, tuổi, điểm toán, lý, hóa. ....................................................................................................... 8
- Tính điểm tổng kết. ............................................................................................................................................................................... 8
- In thông tin sinh viên. ........................................................................................................................................................................... 8
Định nghĩa một cấu trúc dữ liệu sinh viên bao gồm: ............................................................................................................................ 11
• Mã số sinh viên: chuỗi kí tự ............................................................................................................................................................... 11
• Họ và tên sinh viên: chuỗi kí tự .......................................................................................................................................................... 11
• Địa chỉ: chuỗi kí tự ............................................................................................................................................................................. 11
• Điểm toán, lý, hóa: số thực Yêu cầu: ................................................................................................................................................. 11
Tìm sinh viên có tổng điểm 3 môn cao nhất. ........................................................................................................................................ 11
Tìm sinh viên có tổng điểm Toán và Lý thấp nhất ............................................................................................................................... 11
Tìm sinh viên có điểm Hóa cao nhất..................................................................................................................................................... 11
. Tính sinh viên có điểm Toán thấp nhất. .............................................................................................................................................. 11
Tính sinh viên có tổng điểm 3 môn thấp ............................................................................................................................................... 11
#include <iostream> ............................................................................................................................................................................. 11
Dem khoang trong; dem chu hoa thuong............................................................................................................................................ 15
Viết chương trình với 1 class student với 3 thuộc tính điểm Toán, điểm Lý và điểm Tin, 3 hàm thành viên nhập thông tin,
xuất thông tin và điểm trung bình. .................................................................................................................................................... 15
Viết chương trình với 1 class student với 3 thuộc tính điểm Toán, điểm Lý và điểm Tin, 3 hàm thành viên nhập
thông tin, xuất thông tin và điểm trung bình.
#include <iostream>
15
using namespace std;
class Student {
private: Các thành phần private (diemtoan, diemly, diemtin) chỉ có thể truy cập từ bên trong lớp.
public: Các thành phần public (nhapthongtin, xuatthongtin, diemtrungbinh) có thể truy cập từ bên ngoài lớp.
void nhapThongTin() {
} void xuatThongTin() {
} float diemTrungBinh() {
}; int main() {
cout << "Diem trung binh: " << sv.diemTrungBinh() << endl; // G?i hàm tính đi?m trung b?nh và xu?t k?t qu?
return 0;
16