Tìm kiếm Đề thi, Kiểm tra
tài liệu C++(9)

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Lê Văn Thuận (trang riêng)
Ngày gửi: 00h:23' 09-04-2024
Dung lượng: 8.5 MB
Số lượt tải: 53
Nguồn:
Người gửi: Lê Văn Thuận (trang riêng)
Ngày gửi: 00h:23' 09-04-2024
Dung lượng: 8.5 MB
Số lượt tải: 53
Số lượt thích:
0 người
Khi đọc qua tài liệu này, nếu phát hiện sai sót hoặc nội dung kém chất lượng
xin hãy thông báo để chúng tôi sửa chữa hoặc thay thế bằng một tài liệu cùng
chủ đề của tác giả khác. Tài li u này bao g m nhi u tài li u nh có cùng ch
đ bên trong nó. Ph n n i dung b n c n có th n m gi a ho c cu i tài li u
này, hãy s d ng ch c năng Search đ tìm chúng.
Bạn có thể tham khảo nguồn tài liệu được dịch từ tiếng Anh tại đây:
http://mientayvn.com/Tai_lieu_da_dich.html
Thông tin liên hệ:
Yahoo mail: thanhlam1910_2006@yahoo.com
Gmail: frbwrthes@gmail.com
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Bài tập lập trình
C++
1
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mục lục
Trang 1
1. MÃ HÓA THÔNG ĐIỆP
2. GIẢI PHƢƠNG TRÌNH BẬC NHẤT
3. TÍNH CĂN BẬC HAI THEO PHƢƠNG PHÁP LẶP NEWTON
4. CẤU TRÚC VÀ CÁC HÀM THAO TÁC TRÊN SỐ PHỨC
5. DÃY TĂNG DẦN
6. DÃY TĂNG CÓ TỔNG DÀI NHẤT
7. QUẢN LÝ SINH VIÊN
8. GIẢI PHƢƠNG TRÌNH BẬC HAI
9. MA PHƢƠNG
10. FILE VÀ HỆ THỐNG
Trang 2
1. SẮP XẾP MẢNG
2. Một ví dụ về Đa hình
3. Tiếp một ví dụ về Đa hình
4. Tổng hai ma trận
5. Một ví dụ về sử dụng template và quá tải toán tử Nhập xuất
6. Ví dụ về quá tải toán tử
7. Đếm số lần xuất hiện của các ký tự trong chuỗi
8. Bài toán Ancarokhi
9. Chứng minh đẳng thức An Casi
10. Hiện bảng mã ASCII
11. In ra năm âm lịch tƣơng ứng với năm nhập vào.
12. In ra bảng cửu chƣơng
13. Nhập chuỗi và in chuỗi
14. Giải hệ phƣơng trình bậc nhất.
15. Tính thứ của ngày
Trang 3
1.
2.
3.
4.
5.
6.
7.
8.
Chuyển số La Mã sang số Ả rập
Chuyển năm sang số La Mã
Thuật toán sắp xếp bẳng Radix sort
Danh sách liên kết đơn (Thuật toán vừa chèn vừa sắp xếp)
Quá tải toàn tử nhập xuất và sử dụng template
Chƣơng trình đếm số ký tự trong một chuỗi ASCII
Biểu diễn số dƣới dạng bit
Đảo chuỗi
2
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
9. Chƣơng trình xem tập tin
10. Giải bài toán trâu ăn cỏ
11. Loại bỏ khoảng trống thừa trong chuỗi
12.
13. Bội số chung và ƣớc số chung
14. Trộn 2 dãy giảm thành một dãy tăng
15. Tính tích 2 ma trận:
16. In danh sách các số hoàn hảo nhỏ hơn số N nhập từ user
Trang 4
1. Bài in ra lịch của một năm bất kỳ lớn hơn 1700
2. Bài tập kiểm tra dấu ngoặc đúng.
3. Bài toán Tám Hoàng Hậu
4. In ra số Hex tƣơng ứng với một số nguyên dƣơng
5. Liệt kê các hoán vị của N phần tử
6. In chuỗi theo các từ mỗi từ một dòng
7. In ra chữ số hàng trăm hàng chục hàng đơn vị
8. Tìm phần tử lớn nhất nhỏ nhất trong mảng một chiều
9. Tính tổ hợp chập K của N phần tử
10. Chƣơng trình đọc số có 1,2 hoặc 3 chữ số.
11. Tính số ngày trong một tháng trong một năm bất kỳ
12. Bài kiểm tra số nguyên tố
13. Tìm max min của 4 số
14. Tìm n số Fibonaci đầu tiên
Trang 5
1. (Ngân hàng)Tìm số tiền nhận trong n tháng khi biết lãi xuất
2. In ra dãy số ngƣợc so với dãy số nhập vào
3. Trò chơi 8 hòn bi
4. Kiểm tra số đối xứng
5. Điền giá trị cho một mảng vuông theo chiều kim đồng hồ
6. In hình tam giác
7. Trộn hai mảng tăng dần thành một mảng tăng dần
8. Tìm vị trí đầu và vị trí cuối của một số trong một dãy số
9. Tính x^1/1! + x^2/2! + x^3/3! + ... + x^n/n!
10. Trình bày các bƣớc chuyển n đĩa từ cọc A sang cọc C trong bài toán Tháp Hà Nội
dùng 3 đĩa
11. Trình bày các bƣớc chuyển n đĩa từ cọc A sang cọc C trong bài toán Tháp Hà Nội
dùng 4 đĩa
3
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
MÃ HÓA THÔNG ĐIỆP
C code:
Lựa chọn code | Ẩn/Hiện code
#include
#include
#include
char *crypt(char *tdiep, int column)
{
char tam[255], *result;
int i = 0, k = 0, n, j=0;
while(tdiep[i] != 0)
{
if (isalnum(tdiep[i]))
tam[k++] = tdiep[i];
i++;
}
tam[k] = 0;
result = (char *)malloc(k+1);
for (i=0; i{
n = 0;
while(n+i < k)
{
result[j++] = tolower(tam[n+i]);
n += column;
}
}
result[k] = 0;
return result;
}
void main()
{
char thongdiep[255], *mahoa;
int col;
printf("\nNhap thong diep can ma hoa : ");
gets(thongdiep);
printf("\nCho biet so cot : ");
scanf("%d", &col);
mahoa = crypt(thongdiep, col);
printf("\nThong diep da duoc ma hoa thanh : %s", mahoa);
getch();
}
4
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
GIẢI PHƢƠNG TRÌNH BẬC NHẤT
C code:
#include
void main()
{
float a, b;
printf("\nGiai phuong trinh bac nhat AX + B = 0");
printf("\nCho biet ba he so A B : ");
scanf("%f%f", &a, &b);
if (a==0)
if (b!=0)
printf("Phuong trinh vo nghiem");
else
printf("Phuong trinh co nghiem khong xac dinh");
else
printf("Dap so cua phuong trinh tren = %f", -b/a);
getch();
}
TÍNH CĂN BẬC HAI THEO PHƢƠNG PHÁP LẶP NEWTON
#include
#include
void main()
{
double a, xn, ketqua;
printf("\nNhap vao so muon tinh can bac hai : ");
scanf("%lf", &a);
xn = (a+1)/2;
do {
ketqua = xn;
xn = 0.5 * (xn + a/xn);
} while (fabs(xn-ketqua) > 0.0001);
printf("\nKet qua = %lf", xn);
getch();
}
5
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
CẤU TRÚC VÀ CÁC HÀM THAO TÁC TRÊN SỐ PHỨC
#include
typedef struct tagcomplex {
float thuc, ao;
} complex;
complex tong(complex a, complex
{
complex c;
c.thuc = a.thuc + b.thuc;
c.ao = a.ao + b.ao;
return c;
}
complex hieu(complex a, complex
{
complex c;
c.thuc = a.thuc - b.thuc;
c.ao = a.ao - b.ao;
return c;
}
complex tich(complex a, complex
{
complex c;
c.thuc = a.thuc*b.thuc - a.ao*b.ao;
c.ao = a.thuc*b.ao + a.ao*b.thuc;
return c;
}
complex thuong(complex a, complex
{
complex c;
float tongbp;
tongbp = b.thuc*b.thuc + b.ao*b.ao;
c.thuc = (a.thuc*a.ao + b.thuc*b.ao)/tongbp;
c.ao = (a.ao*b.thuc - a.thuc*b.ao)/tongbp;
return c;
}
float argument(complex a)
{
return acos(a.thuc/sqrt(a.thuc*a.thuc + a.ao*a.ao));
}
float modul(complex a)
6
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
return sqrt(a.thuc*a.thuc + a.ao*a.ao);
}
void print_complex(complex a)
{
printf("%.2f + %.2fi", a.thuc, a.ao);
}
void main()
{
complex a, b, c;
printf("\nNhap he so thuc va phuc cua A : ");
scanf("%f%f", &a.thuc, &a.ao);
printf("\nNhap he so thuc va phuc cua B : ");
scanf("%f%f", &b.thuc, &b.ao);
printf("\nSo phuc A = ");
print_complex(a);
printf("\nSo phuc B = ");
print_complex( ;
printf("\nTong cua chung = ");
c = tong(a, ;
print_complex©;
printf("\nHieu cua chung = ");
c = hieu(a, ;
print_complex©;
printf("\nTich cua chung = ");
c = tich(a, ;
print_complex©;
printf("\nThuong cua chung = ");
c = thuong(a, ;
print_complex©;
printf("\nArgument cua a = %f", argument(a));
printf("\nModul cua a = %f", modul(a));
getch();
}
7
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
DÃY TĂNG DẦN#include
void main()
{
int a[10], i, maxstart, maxend, maxlen, tmpstart, tmpend,
tmplen;
printf("\nNhap vao 10 phan tu nguyen cua day :");
for (i=0; i<10; i++)
scanf("%d", &a[i]);
printf("Day da cho :\n");
for (i=0; i<10; i++)
printf("%6d", a[i]);
maxstart = maxend = tmpstart = tmpend = 0;
maxlen = tmplen = 1;
for (i=1; i< 10; i++)
{
if (a[i] < a[tmpend])
{
if (maxlen < tmplen)
{
maxstart = tmpstart;
maxend = tmpend;
maxlen = tmplen;
}
tmpstart = tmpend = i;
tmplen = 1;
}
else
{
tmplen++;
tmpend++;
}
}
if (maxlen < tmplen)
{
maxstart = tmpstart;
maxend = tmpend;
}
printf("\nDay tang co so phan tu nhieu nhat la : \n");
for (i=maxstart; i<=maxend; i++)
printf("%6d", a[i]);
getch();
}
8
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
DÃY TĂNG CÓ TỔNG DÀI NHẤT#include
void main()
{
int a[10], i, maxstart, maxend, maxtotal, tmpstart, tmpend,
tmptotal;
printf("\nNhap vao 10 phan tu nguyen cua day :");
for (i=0; i<10; i++)
scanf("%d", &a[i]);
printf("Day da cho :\n");
for (i=0; i<10; i++)
printf("%6d", a[i]);
maxstart = maxend = tmpstart = tmpend = 0;
maxtotal = tmptotal = a[0];
for (i=1; i< 10; i++)
{
if (a[i] < a[tmpend])
{
if (maxtotal < tmptotal)
{
maxstart = tmpstart;
maxend = tmpend;
maxtotal = tmptotal;
}
tmpstart = tmpend = i;
tmptotal = a[i];
}
else
{
tmptotal += a[i];
tmpend++;
}
}
if (maxtotal < tmptotal)
{
maxstart = tmpstart;
maxend = tmpend;
}
printf("\nDay tang co tong nhieu nhat la : \n");
for (i=maxstart; i<=maxend; i++)
printf("%6d", a[i]);
getch();
}
9
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
QUẢN LÝ SINH VIÊN
#include
#include
#include
#include
#define
#define
#define
#define
MAX 100
TOAN 0
LY
1
HOA 2
struct sinhvien {
char mslop[5];
char hoten[35];
float diem[3];
} danhsach[MAX];
int n = 0;
void nhapmoi()
{
char mslop[5], tmp[3];
int i;
float diem[3];
do {
printf("\nCho biet ma so lop : ");
gets(mslop);
if (strlen(mslop))
{
strcpy(danhsach[n].mslop, mslop);
printf("\nCho biet ho ten : ");
gets(danhsach[n].hoten);
printf("\nCho biet diem so : ");
for (i=0; i<3; i++)
{
scanf("%f", &diem[i]);
danhsach[n].diem[i] = diem[i];
}
gets(tmp);
n++;
}
} while (strlen(mslop));
}
void timkiem()
{
char mslop[5];
int i = 0, found = 0;
10
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
printf("\nCho biet ma so lop : ");
gets(mslop);
if (strlen(mslop))
while (iif (stricmp(danhsach[i].mslop, mslop) == 0)
{
printf("\nMa so lop : %s", danhsach[i].mslop);
printf("\nHo va ten : %s", danhsach[i].hoten);
printf("\nDiem Toan : %f",
danhsach[i].diem[TOAN]);
printf("\nDiem Ly
: %f", danhsach[i].diem[LY]);
printf("\nDiem Hoa : %f", danhsach[i].diem[HOA]);
found = 1;
break;
}
else
i++;
if (!found)
printf("\nKhong tim thay!!!");
}
void xoa()
{
char mslop[5], traloi;
int i = 0, j;
printf("\nCho biet ma so lop : ");
gets(mslop);
if (strlen(mslop))
while (iif (stricmp(danhsach[i].mslop, mslop) == 0)
{
printf("\nMa so lop : %s", danhsach[i].mslop);
printf("\nHo va ten : %s", danhsach[i].hoten);
printf("\nDiem Toan : %f",
danhsach[i].diem[TOAN]);
printf("\nDiem Ly
: %f", danhsach[i].diem[LY]);
printf("\nDiem Hoa : %f", danhsach[i].diem[HOA]);
printf("\nCo muon xoa khong (C/K)? ");
do {
traloi = toupper(getch());
} while (traloi != 'C' && traloi != 'K');
putc(traloi, stdout);
if (traloi == 'C')
{
n--;
memcpy(&danhsach[i], &danhsach[i+1],
sizeof(struct sinhvien) * (n-i));
11
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
break;
}
}
else
i++;
}
void menu()
{
printf("\n***************");
printf("\n* 1. Them
*");
printf("\n* 2. Xoa
*");
printf("\n* 3. Tim kiem *");
printf("\n* 0. Thoat
*");
printf("\n***************");
printf("\nChon lua ? ");
}
void main()
{
char traloi;
do {
menu();
do {
traloi = getch();
} while (traloi < '0' || traloi > '3');
putc(traloi, stdout);
switch (traloi)
{
case '1' : nhapmoi();
break;
case '2' : xoa();
break;
case '3' : timkiem();
break;
}
} while (traloi != '0');
}
GIẢI PHƢƠNG TRÌNH BẬC HAI
#include
#include
void main()
{
float a, b, c, delta;
printf("\nGiai phuong trinh bac hai AXý + BX + C = 0");
printf("\nCho biet ba he so A B C : ");
12
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
scanf("%f%f%f", &a, &b, &c);
delta = b * b - 4 * a *
if (delta<0)
printf("Phuong trinh vo
else if (delta == 0)
printf("Phuong trinh co
b/(2*a));
else
{
printf("Phuong trinh co
+ sqrt(delta))/(2*a));
printf("\nx2 = %f", (-b
}
getch();
}
c;
nghiem");
nghiem kep x1 = x2 = %f", -
hai nghiem phan biet\nx1 = %f", (-b
- sqrt(delta))/(2*a));
MA PHƢƠNG
#include
#include
// func declaration
void matrix( int n );
// main()
int main(void)
{
int n;
// input until it's valid.
do
{
printf("\n Plz input size of matrix [ odd size & n <
20 ]: n = ");
scanf("%d",&n);
if ( n % 2 == 0 ) printf("\n Invalid input value .. Plz
re-input ... \n");
}
while ( n % 2 == 0 );
if ( n > 20 ) { n = 19 ; // in case of n is greater
than 20
printf("\n %d is greater than 20 & set to be default as
19 .",n ); } // end if
// call matrix()
matrix(n);
// stop to watch
13
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
getch();
return 0;
}
// function matrix(int n)
void matrix( int n )
{
int a[20][20];
int i, j, row, col, count = 1;
int old_row, old_col, sum = 0;
// set starting value of array
for ( i = 0 ; i < n ; i++ )
for ( j = 0 ; j < n ; j++ )
a[i][j] = 0;
// set the 1st value to start
row = 0; col = (n-1) / 2;
while ( count < n*n + 1 )
{
a[row][col] = count++ ; // set value for
elements
old_row = row ; old_col = col; // save the last
addresses
// define whether going out of array
row -= 1; if ( row == -1 ) row = n - 1;
col += 1; if ( col == n ) col = 0;
// in case of already having number
if ( a[row][col] != 0 )
{
row = old_row + 1;
col = old_col;
} // end if
} // end while
// print result
printf("\n");
for ( i = 0 ; i < n ; i++ )
{
for ( j = 0 ; j < n ; j++ )
printf("%4d",a[i][j]);
printf("\n");
} // end for
// calculate sum
for ( j = 0 ; j < n ; j++ )
sum += a[0][j];
14
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
printf("\n Sum of each row - column - diagonal line
is : %d " , sum);
return;
}
FILE VÀ HỆ THỐNG
1. Xóa 1 file dùng Remove
#include
int main()
{
remove("d:/urls1.dat");
return 0;
}
2. Xóa 1 File dùng Unlink
#include
int main()
{
remove("C:/pete.txt");
return 0;
}
3. Cho biết thông tin FAT#include
#include
void main(void)
{
struct fatinfo fat;
getfatd(&fat);
printf("Sectors per cluster %d\n", fat.fi_sclus);
printf("Clusters per disk %u\n", fat.fi_nclus);
printf("Bytes per cluster %d\n", fat.fi_bysec);
printf("Disk type %x\n", fat.fi_fatid & 0xFF);
}
4. Đếm tần suất 1 kí tự trong 1 file
# include
# include
main()
{
FILE *fp;
char in[100];
long int freq[257];
int i;
15
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
printf("\nFile frequency table generator\n\n");
printf("\nInput file:");
scanf("%s",in);
fp=fopen(in,"rb");
if(fp==NULL)
{
printf("\nCould not open input file.Aborting\n");
return 1;
}
for(i=0;i<257;i++)
freq[i]=0;
while(i=fgetc(fp),i!=EOF)
{
freq[i]++;
}
fcloseall();
fp=fopen("count.txt","w");
fprintf(fp,"\nCharacter frequency table of %s\n",in);
fprintf(fp,"\nCharacter ASCII frequency\n\n");
for(i=0;i<256;i++)
{
if(i==26)
{
fprintf(fp,"\t
26\t %ld\n",freq[26]);
}
else if(i==9)
{
fprintf(fp,"\t
9\t %ld",freq[9]);
}
else if(i<10)
{
fprintf(fp,"%c\t
%d\t %ld\n",i,i,freq[i]);
}
else if(i<100)
{
fprintf(fp,"%c\t
%d\t %ld\n",i,i,freq[i]);
}
else
{
fprintf(fp,"%c\t
%d\t %ld\n",i,i,freq[i]);
}
}
fcloseall();
16
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
printf("\nFrequency table copied to count.txt\n");
}
5. Đọc nội dung 1 file
#include
void main(void)
{
FILE *fp;
char ch;
fp = fopen("websites.txt","r");
ch = getc(fp);
while(ch!=EOF)
{
putchar(ch);
ch = getc(fp);
}
printf("\n\n");
}
6. Chọn ổ đĩa trong DOS#include
#include
void main(void)
{
int drives;
drives = setdisk(3);
printf("The number of available drives is %d\n", drives);
}
7.Chọn ổ đĩa trong WINS
#include
#include
#include
void main(void)
{
char szBuffer[MAX_PATH+100];
UINT nDrive, AvailDrive = 0;
int dwLogicalDrives = GetLogicalDrives();
DWORD Success;
printf("Number of logical drives: %d\n",
dwLogicalDrives);
for (nDrive = 0; nDrive < 32; nDrive++)
{
if (dwLogicalDrives & (1 << nDrive))
{ // Is drive available?
17
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
AvailDrive++;
// Get disk information.
wsprintf(szBuffer, "%c:\\", nDrive+'A', '\0');
// Print out information.
if(SetCurrentDirectory(szBuffer))
printf("%s Is Now Current\n", szBuffer);
else
printf("Could not set %s as the current
drive\n", szBuffer);
}
}
printf("Number of drives available: %d\n",
AvailDrive);
}
8. Cho biết kích thƣớc 1 file
#include
#include
#include
#include
int main()
{
int fp;
long file_size;
if ((fp = open("f:/cprojects/urls.txt", O_RDONLY)) == -1)
printf("Error opening the file \n");
else
{
file_size = filelength(file_handle);
printf("The file size in bytes is %ld\n", file_size);
close(fp);
}
return 0;
}
Tính thứ của ngày
#include
#include
struct date
{
int
month;
int
day;
int
year;
} date_1;
18
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
long int funct1 (int y,int m)
{
long int result;
if ( m <= 2 )
y -= 1;
result = y;
return (result);
}
long int funct2 (int m)
{
long int result;
if ( m <= 2 )
result = m + 13;
else
result = m + 1;
return(result);
}
long int day_count (int m, int d, int y)
{
long int number;
number = 1461 * funct1(y,m) / 4 + 153 * funct2(m) / 5 + d;
return (number);
}
void main ()
{
long int number_of_days1;
int day_of_week;
printf ("Nhap vao mot ngay (dd mm yyyy), vd 12 03 1999 \n");
scanf ("%d %d %d", &date_1.day, &date_1.month, &date_1.year);
number_of_days1 = day_count (date_1.month, date_1.day,
date_1.year);
printf ("\nNgay la : " );
day_of_week = (number_of_days1 - 621049) % 7;
switch (day_of_week)
{
case 0 :
printf ("Chu Nhat,");
break;
case 1 :
printf ("Thu Hai,");
break;
case 2 :
printf ("Thu Ba,");
break;
case 3 :
printf ("Thu Tu,");
break;
case 4 :
printf ("Thu Nam,");
break;
19
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
case 5 :
printf ("Thu Sau,");
break;
case 6 :
printf ("Thu Bay,");
break;
}
getch();
}
Giải hệ phƣơng trình bậc nhất.
#include
#include
void main()
{
int a, b, c, d, e, f, dthuc;
float x, y;
printf("\nNhap vao cac he so a,b,c,d,e,f : ");
scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f);
dthuc = b*d - e*a;
if (dthuc != 0)
{
y = (float)(c*d-a*f)/dthuc;
x = (float)(b*f-c*e)/dthuc;
printf("Nghiem x = %f, y = %f", x, y);
}
else
printf("\nHe phuong trinh vo ngiem.");
getch();
}
Nhập chuỗi và in chuỗi
#include
#include
void main()
{
char name[80];
printf("\nXin cho biet ten cua ban : ");
gets(name);
printf("Chao %s\n", name);
getch();
}
In ra bảng cửu chƣơng
#include
#include
#include
void main()
20
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
int i, j;
char chuoi[] = "B A N G
C U U
C H U O N G";
char ten[10][5] = {"","","Hai", "Ba", "Bon", "Nam",
"Sau", "Bay", "Tam", "Chin"};
clrscr();
textcolor(YELLOW);
gotoxy((80 - strlen(chuoi)) / 2, 1);
cprintf("%s\n\n", chuoi);
for (i=2; i<=9; i++)
{
gotoxy(10*(i-2) + (10 - strlen(ten[i]))/2, 4);
textcolor(i);
cprintf("%s", ten[i]);
}
for (j=1; j<=10; j++)
for (i=2; i<=9; i++)
{
gotoxy(10*(i-2) + 1, j+4);
textcolor(i);
cprintf("%dx%2d = %2d", i, j, i*j);
}
getch();
}
In ra năm âm lịch tƣơng ứng với năm nhập vào.
#include
#include
void main()
{
unsigned nam;
char can[][5] = {"Giap", "At", "Binh", "Dinh", "Mau", "Ky",
"Canh", "Tan", "Nham", "Quy"};
char chi[][5] = {"Ty", "Suu", "Dan", "Meo", "Thin", "Ty",
"Ngo", "Mao", "Than", "Dau", "Tuat", "Hoi"};
printf("\nNhap nam can biet : ");
scanf("%d", &nam);
printf("Nam am lich cua %d la %s %s", nam, can[(nam+6)%10],
chi[(nam+8)%12]);
getch();
}
Hiện bảng mã ASCII
#include
#include
void main()
{
int i, j;
clrscr();
printf("
");
21
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
for (j=0; j<16; j++)
printf("%3d", j);
for (i=2; i<16; i++)
for (j=0; j<16; j++)
{
if (j == 0)
printf("\n%2d ", i);
printf(" %c", i*16+j);
}
getch();
}
Chứng minh đẳng thức An Casi
#include
unsigned long vetrai(unsigned long n)
{
unsigned long tmp=0, i;
for (i=1; i<=n; i++)
tmp += i*i*i*i;
return tmp;
}
unsigned long vephai(unsigned long n)
{
unsigned long tmp;
tmp = (long)6*n*n*n*n*n + (long)15*n*n*n*n + (long)10*n*n*n - n;
tmp = tmp / (long)30 ;
return tmp;
}
void main()
{
unsigned long tong1, tong2, n;
for (n=1; n<=50; n++)
{
tong1 = vetrai(n);
tong2 = vephai(n);
if (tong1 == tong2)
{
printf("\nSo %d thoa man dang thuc An Casi. ", n);
printf("Tong1 = %ld - Tong2 = %ld", tong1, tong2);
}
else
{
printf("\nSo %d khong thoa man dang thuc An Casi. ", n);
printf("Tong1 = %ld - Tong2 = %ld", tong1, tong2);
}
}
getch();
}
Bài toán Ancarokhi
#include
22
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
void main()
{
int dai, rong;
printf("\nBai toan Ancarokhi : Tim dien tich hinh chu nhat co chieu
dai gap hai");
printf("\nchieu rong va dien tich = chu vi");
for (dai = 1; dai < 100; dai ++)
for (rong=1; rong < 100; rong++)
if (dai == 2 * rong && (dai + rong)*2 == dai*rong)
printf("\nDai = %d; Rong = %d", dai, rong);
getch();
}
Đếm số lần xuất hiện của các ký tự trong chuỗi
#include
#include
void main()
{
char chuoi[80];
int i = 0, count = 0;
printf("\nNhap vao mot chuoi bat ky : ");
gets(chuoi);
while (chuoi[i] != 0)
{
if (isalpha(chuoi[i++]))
count++;
}
printf("So ky tu trong chuoi = %d", count);
getch();
}
23
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Ví dụ về quá tải toán tử
#include
#include
#include
class PS
{
public:
long tu,mau;
PS()
{
tu=0;
mau=0;
}
~PS(){};
int uscln(long a,long b);
void rutgon();
void nhap();
void xuat();
PS operator+(PS &a);
PS operator-(PS &a);
PS operator*(PS &a);
PS operator/(PS &a);
};
int PS::uscln(long a,long b)
{
if(a!=0 && b!=0)
{
a=abs(a);
b=abs(b);
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
else
return 1;
}
void PS::rutgon()
{
int u;
u=uscln(tu,mau);
tu=tu/u;
mau=mau/u;
}
void PS::nhap()
{
Nhap:
cout<<"Nhap tu so ";
24
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
cin>>tu;
cout<<"Nhap mau so ";
cin>>mau;
if(mau==0)
{
cout<<"Mau phai khac 0"<goto Nhap;
}
}
void PS::xuat()
{
rutgon();
if(mau<0)
{mau=-mau; tu=-tu;}
if(tu==0)
cout<<"0"<else
if(mau==1)
cout<else
cout<}
PS PS::operator+(PS &a)
{
a.tu=tu*a.mau+mau*a.tu;
a.mau=mau*a.mau;
return a;
}
PS PS::operator-(PS &a)
{
a.tu=tu*a.mau-mau*a.tu;
a.mau=mau*a.mau;
return a;
}
PS PS::operator*(PS &a)
{
a.tu=tu*a.tu;
a.mau=mau*a.mau;
return a;
}
PS PS::operator/(PS &a)
{
a.tu=tu*a.mau;
a.mau=mau*a.tu;
return a;
}
25
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Một ví dụ về sử dụng template và quá tải toán tử Nhập xuất
#include
#include
#include
class sv
{
private :
char ten[100];
float Diem;
public:
sv()
{
Diem=0;
}
sv(char a[],float D)
{
strcpy(ten,a);
Diem=D;
}
sv(sv&a)
{
Diem = a.Diem;
strcpy(ten,a.ten);
}
void set_sv(char a[],float D)
{
strcpy(ten,a);
Diem=D;
}
float get_diem()const
{
return Diem;
}
char* get_ten()
{
return ten;
}
friend ostream&operator <<(ostream&out,sv&);
friend istream&operator>>(istream&in,sv&);
operator float()
{
return float(Diem);
}
};
ostream&operator <<(ostream&out,sv&a)
{
cout<<"\n\n\t\t\tTen "<cout<<"\t\t\tDiem "<}
istream&operator>>(istream&in,sv&a)
{
cout<<"\t\t\tNhap ten ";
cin.ignore();
cin.getline(a.ten,50);
26
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
cout<<"\t\t\tNhap diem ";
cin>>a.Diem;
}
int ucln(int a,int b)
{
int r;
while(b)
{
r = a%b;
a = b;
b=r;
}
return a;
}
class phanso
{
private:
float tu,mau;
public:
phanso(float a=1,float b=1)
{
if(b)
{
tu = a;
mau = b;
}
else
{
tu =1;
mau=1;
}
}
void set_phanso(float a,float b)
{
tu =a;
mau = b;
}
void nhap()
{
cout<<"\t\t\tNhap du lieu cho phan so "<cout<<"\t\t\tTu ";
cin>>tu;
cout<<"\t\t\tMau ";
cin>>mau;
toigian();
}
void toigian()
{
int t=ucln(tu,mau);
tu = tu/t;
mau = mau/t;
}
operator float()
{
return float(tu/mau);
27
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
}
friend ostream&operator <<(ostream&out,phanso&a);
friend istream&operator >>(istream&in,phanso&a);
};
ostream&operator<<(ostream&out,phanso&a)
{
out<";
}
istream&operator >>(istream&in,phanso&a)
{
cout<<"\t\tTu ";
cin>>a.tu;
cout<<"\t\tMau ";
cin>>a.mau;
}
template
class set
{
private:
T data[n];
int spt;
public:
set()
{
spt=0;
}
set(const set&a)
{
for(int i=0;idata[i]=a.data[i];
spt = a.spt;
}
void them(T&a);
bool search(T&a);
friend ostream& operator<<(ostream&out,set&a);
friend set operator +(set&a,set&b);
friend set operator *(set&a,set&b);
friend set operator -(set&a,set&b);
set operator =(const set&b)
{
for(int i=0;idata[i]=b.data[i];
spt=b.spt;
return (*this);
}
};
template
void set::them(T&a)
{
if(sptdata[spt++]=a;
else
cout<<"\t\tMang da day rui khong them duoc nua dau "<}
template
28
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
bool set::search(T&a)
{
for(int i=0;iif(data[i]==a)
return true;
return false;
}
template
ostream&operator<<(ostream&out,set&a)
{
if(a.spt==0)
out<<" rong "<for(int i=0;i{
out<if(icout<<"->";
}
}
template
set operator +(set&a,set&b)
{
set r(a);
for(int i=0;iif(!a.search(b.data[i]))
r.them(b.data[i]);
return r;
}
template
set operator -(set&a,set&b)
{
set r;
for(int i=0;iif(!b.search(a.data[i]))
r.them(a.data[i]);
return r;
}
template
set operator *(set&a,set&b)
{
set r;
for(int i=0;iif(b.search(a.data[i]))
r.them(a.data[i]);
return r;
}
void main()
{
set a;
set c;
29
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
set d;
set e;
set f;
set g;
set b;
int n,m,l;
float r;
sv A;
phanso s;
cout<<"\t\t\tNhap so luong cac so thu ";
cin>>n;
for(int i=0;i{
cout<<" nhap so thu "<<(i+1)<<":";
cin>>r;
a.them(r);
}clrscr();
cout<<"\t\t\tNhap so luong phan so ";
cin>>m;
for(int i=0;i{
cout<<"\t\t\tNhap phan so thu "<<(i+1)<cin>>s;
b.them(s);
c.them(s);clrscr();
}
clrscr();
cout<<"\t\t\tNhap so luong cac sinh vien ";
cin>>l;
for(int i=0;i{
cout<<"\t\t\tNhap du lieu cho sinh vien thu "<<(i+1)<cin>>A;
g.them(A);
clrscr();
}
clrscr();
textcolor(YELLOW+RED);
cprintf("%s","\t\t\tchuong trinh da gan cac so 1 cach tu dong ta duo
c ");
cout<<"\n\nday so thuc vua nhap "<cout<cout<<"\n\nday phan so vua nhap "<cout<cout<<"\n\tDay sinh vien vua nhap "<cout<getch();clrscr();
d = a+c;
cout<<"\n\n hop cua hai tap hop phan so va so thuc la "<cout<e=a*c;
cout<<"\n\n giao cua hai tap so thuc va phan so la "<cout<cout<<"\n\nhieu cua hai tap so thuc va phan so la "<f=a-c;
cout<
30
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
getch();
}
Tổng hai ma trận
#include
#include
#include
void congmt(float a[][10],float b[][10],float c[][10],int hang,int cot)
;
void nhapmt(float a[][10],int hang,int cot);
void inmt(float a[][10],int hang,int cot);
void main()
{
system("color 3e");
float a[10][10],b[10][10],c[10][10];
int hang1,cot1;
cout<<"Moi ban nhap vao ma tran a: \n";
cout<<"Nhap vao so hang cua ma tran a: ";
cin>>hang1;
cout<<"Nhap vao so cot cua ma tran a: ";
cin>>cot1;
nhapmt(a,hang1,cot1);
inmt(a,hang1,cot1);
int hang2,cot2;
cout<<"Moi ban nhap vao ma tran b: \n";
do
{
cout<<"Nhap vao so hang cua ma tran b: ";
cin>>hang2;
}while(hang2 != hang1);
do
{
cout<<"Nhap vao so cot cua ma tran b: ";
cin>>cot2;
}while(cot2 != cot1);
nhapmt(b,hang2,cot2);
inmt(b,hang2,cot2);
cout<<"\nVay tong cua hai ma tran a,b la: \n";
congmt(a,b,c,hang1,cot1);
inmt(c,hang1,cot1);
getch();
}
void congmt(float a[][10],float b[][10],float c[][10],int hang,int cot)
{
for (int i=0; ifor (int j=0; jc[i][j] = a[i][j] + b[i][j];
}
void nhapmt(float a[][10],int hang,int cot)
{
for(int i = 0;i < hang;i++)
31
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
for(int j = 0; j < cot; j++)
{
cout<<"Nhap vao phan tu ["<cin>>a[i][j];
}
}
}
void inmt(float a[][10],int hang,int cot)
{
for(int i = 0; i < hang; i++)
{
for(int j = 0; j < cot; j++)
{
cout<}
cout<}
}
Tiếp một ví dụ về Đa hình
#include
#include
#include
class Point
{
private:
int x; int y;
public:
Point()
{
x = 0; y = 0;
}
Point(int a,int b)
{
x = a; y = b;
}
virtual void set(int a,int b)
{
x = a; y = b;
}
float gettung()
{
return y;
}
float gethoanh()
{
return x;
}
float kc(Point t)
{
return ((x - t.x)*(x - t.x) + (y - t.y)*(y - t.y));
}
virtual void in()
{
32
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
cout<<"\n("<}
};
class Cpoint : protected Point
{
private:
int mau;
public:
Cpoint() : Point()
{
mau = 0;
}
Cpoint(int a,int b,int mau_) : Point(a,b)
{
mau = mau_;
}
void set(int a,int b,int mau_)
{
Point::set(a,b);
mau = mau_;
}
void in()
{
Point::in();
cout<<" Co mau la "<}
} ;
void main()
{
Point *p;
p = new Cpoint(3,5,6);
p->in();
delete p;
p = new Point(5,2);
p->in();
getch();
}
Một ví dụ về Đa hình
#include
#include
#include
class hinhve
{
public:
virtual float dientich() = 0;
virtual char *ten() = 0;
virtual void in()=0;
};
class haichieu : public hinhve
{
public:
virtual float chuvi() = 0;
void in()
33
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
cout<<"ten cua hinh: "<<<" ,dien tich la: "<<<" ,chu vi la: "<}
};
class bachieu : public hinhve
{
public:
virtual float thetich() = 0;
void in()
{
cout<<"ten cua hinh: "<<<" ,dien tich la: "<<<" ,the tich la: "<}
};
class hinhtron : public haichieu
{
private:
float r;
public:
hinhtron() { r = 0;}
hinhtron(float bk) {r = bk;}
float chuvi()
{
return 2*3.14*r;
}
float dientich()
{
return 3.14*r*r;
}
char *ten()
{
return "Hinh Tron";
}
};
class hinhvuong : public haichieu
{
private:
float a;
public:
hinhvuong(float x)
{
a = x;
}
float chuvi()
{
return a*4;
}
float dientich()
34
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
return a*a;
}
char *ten()
{
return "Hinh Vuong";
}
};
class tgdeu : public haichieu
{
private:
float a;
public:
tgdeu(float x) : a(x){}
float chuvi()
{
return 3*a;
}
float dientich()
{
return a*a*sqrt(3)/2;
}
char *ten()
{
return "Hinh tam giac deu";
}
};
class cau: public bachieu
{
private:
float r;
public:
cau(float bk): r(bk){}
float thetich() { return r*r*r*3.14;}
float dientich() { return 4*3.14*r*r; }
char *ten()
{
return "Hinh Cau";
}
};
class lapphuong : public bachieu
{
private:
float a;
public:
lapphuong(float x) : a(x) {}
float thetich() { return a*a*a; }
float dientich() { return 6*a*a; }
char * ten() { return "Hinh Lap Phuong"; }
};
void main()
{
hinhve *p;
p = new hinhtron(3);
35
CuuDuongThanCong.com
https://fb.com/tailieudientucnt...
xin hãy thông báo để chúng tôi sửa chữa hoặc thay thế bằng một tài liệu cùng
chủ đề của tác giả khác. Tài li u này bao g m nhi u tài li u nh có cùng ch
đ bên trong nó. Ph n n i dung b n c n có th n m gi a ho c cu i tài li u
này, hãy s d ng ch c năng Search đ tìm chúng.
Bạn có thể tham khảo nguồn tài liệu được dịch từ tiếng Anh tại đây:
http://mientayvn.com/Tai_lieu_da_dich.html
Thông tin liên hệ:
Yahoo mail: thanhlam1910_2006@yahoo.com
Gmail: frbwrthes@gmail.com
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Bài tập lập trình
C++
1
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Mục lục
Trang 1
1. MÃ HÓA THÔNG ĐIỆP
2. GIẢI PHƢƠNG TRÌNH BẬC NHẤT
3. TÍNH CĂN BẬC HAI THEO PHƢƠNG PHÁP LẶP NEWTON
4. CẤU TRÚC VÀ CÁC HÀM THAO TÁC TRÊN SỐ PHỨC
5. DÃY TĂNG DẦN
6. DÃY TĂNG CÓ TỔNG DÀI NHẤT
7. QUẢN LÝ SINH VIÊN
8. GIẢI PHƢƠNG TRÌNH BẬC HAI
9. MA PHƢƠNG
10. FILE VÀ HỆ THỐNG
Trang 2
1. SẮP XẾP MẢNG
2. Một ví dụ về Đa hình
3. Tiếp một ví dụ về Đa hình
4. Tổng hai ma trận
5. Một ví dụ về sử dụng template và quá tải toán tử Nhập xuất
6. Ví dụ về quá tải toán tử
7. Đếm số lần xuất hiện của các ký tự trong chuỗi
8. Bài toán Ancarokhi
9. Chứng minh đẳng thức An Casi
10. Hiện bảng mã ASCII
11. In ra năm âm lịch tƣơng ứng với năm nhập vào.
12. In ra bảng cửu chƣơng
13. Nhập chuỗi và in chuỗi
14. Giải hệ phƣơng trình bậc nhất.
15. Tính thứ của ngày
Trang 3
1.
2.
3.
4.
5.
6.
7.
8.
Chuyển số La Mã sang số Ả rập
Chuyển năm sang số La Mã
Thuật toán sắp xếp bẳng Radix sort
Danh sách liên kết đơn (Thuật toán vừa chèn vừa sắp xếp)
Quá tải toàn tử nhập xuất và sử dụng template
Chƣơng trình đếm số ký tự trong một chuỗi ASCII
Biểu diễn số dƣới dạng bit
Đảo chuỗi
2
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
9. Chƣơng trình xem tập tin
10. Giải bài toán trâu ăn cỏ
11. Loại bỏ khoảng trống thừa trong chuỗi
12.
13. Bội số chung và ƣớc số chung
14. Trộn 2 dãy giảm thành một dãy tăng
15. Tính tích 2 ma trận:
16. In danh sách các số hoàn hảo nhỏ hơn số N nhập từ user
Trang 4
1. Bài in ra lịch của một năm bất kỳ lớn hơn 1700
2. Bài tập kiểm tra dấu ngoặc đúng.
3. Bài toán Tám Hoàng Hậu
4. In ra số Hex tƣơng ứng với một số nguyên dƣơng
5. Liệt kê các hoán vị của N phần tử
6. In chuỗi theo các từ mỗi từ một dòng
7. In ra chữ số hàng trăm hàng chục hàng đơn vị
8. Tìm phần tử lớn nhất nhỏ nhất trong mảng một chiều
9. Tính tổ hợp chập K của N phần tử
10. Chƣơng trình đọc số có 1,2 hoặc 3 chữ số.
11. Tính số ngày trong một tháng trong một năm bất kỳ
12. Bài kiểm tra số nguyên tố
13. Tìm max min của 4 số
14. Tìm n số Fibonaci đầu tiên
Trang 5
1. (Ngân hàng)Tìm số tiền nhận trong n tháng khi biết lãi xuất
2. In ra dãy số ngƣợc so với dãy số nhập vào
3. Trò chơi 8 hòn bi
4. Kiểm tra số đối xứng
5. Điền giá trị cho một mảng vuông theo chiều kim đồng hồ
6. In hình tam giác
7. Trộn hai mảng tăng dần thành một mảng tăng dần
8. Tìm vị trí đầu và vị trí cuối của một số trong một dãy số
9. Tính x^1/1! + x^2/2! + x^3/3! + ... + x^n/n!
10. Trình bày các bƣớc chuyển n đĩa từ cọc A sang cọc C trong bài toán Tháp Hà Nội
dùng 3 đĩa
11. Trình bày các bƣớc chuyển n đĩa từ cọc A sang cọc C trong bài toán Tháp Hà Nội
dùng 4 đĩa
3
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
MÃ HÓA THÔNG ĐIỆP
C code:
Lựa chọn code | Ẩn/Hiện code
#include
#include
#include
char *crypt(char *tdiep, int column)
{
char tam[255], *result;
int i = 0, k = 0, n, j=0;
while(tdiep[i] != 0)
{
if (isalnum(tdiep[i]))
tam[k++] = tdiep[i];
i++;
}
tam[k] = 0;
result = (char *)malloc(k+1);
for (i=0; i
n = 0;
while(n+i < k)
{
result[j++] = tolower(tam[n+i]);
n += column;
}
}
result[k] = 0;
return result;
}
void main()
{
char thongdiep[255], *mahoa;
int col;
printf("\nNhap thong diep can ma hoa : ");
gets(thongdiep);
printf("\nCho biet so cot : ");
scanf("%d", &col);
mahoa = crypt(thongdiep, col);
printf("\nThong diep da duoc ma hoa thanh : %s", mahoa);
getch();
}
4
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
GIẢI PHƢƠNG TRÌNH BẬC NHẤT
C code:
#include
void main()
{
float a, b;
printf("\nGiai phuong trinh bac nhat AX + B = 0");
printf("\nCho biet ba he so A B : ");
scanf("%f%f", &a, &b);
if (a==0)
if (b!=0)
printf("Phuong trinh vo nghiem");
else
printf("Phuong trinh co nghiem khong xac dinh");
else
printf("Dap so cua phuong trinh tren = %f", -b/a);
getch();
}
TÍNH CĂN BẬC HAI THEO PHƢƠNG PHÁP LẶP NEWTON
#include
#include
void main()
{
double a, xn, ketqua;
printf("\nNhap vao so muon tinh can bac hai : ");
scanf("%lf", &a);
xn = (a+1)/2;
do {
ketqua = xn;
xn = 0.5 * (xn + a/xn);
} while (fabs(xn-ketqua) > 0.0001);
printf("\nKet qua = %lf", xn);
getch();
}
5
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
CẤU TRÚC VÀ CÁC HÀM THAO TÁC TRÊN SỐ PHỨC
#include
typedef struct tagcomplex {
float thuc, ao;
} complex;
complex tong(complex a, complex
{
complex c;
c.thuc = a.thuc + b.thuc;
c.ao = a.ao + b.ao;
return c;
}
complex hieu(complex a, complex
{
complex c;
c.thuc = a.thuc - b.thuc;
c.ao = a.ao - b.ao;
return c;
}
complex tich(complex a, complex
{
complex c;
c.thuc = a.thuc*b.thuc - a.ao*b.ao;
c.ao = a.thuc*b.ao + a.ao*b.thuc;
return c;
}
complex thuong(complex a, complex
{
complex c;
float tongbp;
tongbp = b.thuc*b.thuc + b.ao*b.ao;
c.thuc = (a.thuc*a.ao + b.thuc*b.ao)/tongbp;
c.ao = (a.ao*b.thuc - a.thuc*b.ao)/tongbp;
return c;
}
float argument(complex a)
{
return acos(a.thuc/sqrt(a.thuc*a.thuc + a.ao*a.ao));
}
float modul(complex a)
6
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
return sqrt(a.thuc*a.thuc + a.ao*a.ao);
}
void print_complex(complex a)
{
printf("%.2f + %.2fi", a.thuc, a.ao);
}
void main()
{
complex a, b, c;
printf("\nNhap he so thuc va phuc cua A : ");
scanf("%f%f", &a.thuc, &a.ao);
printf("\nNhap he so thuc va phuc cua B : ");
scanf("%f%f", &b.thuc, &b.ao);
printf("\nSo phuc A = ");
print_complex(a);
printf("\nSo phuc B = ");
print_complex( ;
printf("\nTong cua chung = ");
c = tong(a, ;
print_complex©;
printf("\nHieu cua chung = ");
c = hieu(a, ;
print_complex©;
printf("\nTich cua chung = ");
c = tich(a, ;
print_complex©;
printf("\nThuong cua chung = ");
c = thuong(a, ;
print_complex©;
printf("\nArgument cua a = %f", argument(a));
printf("\nModul cua a = %f", modul(a));
getch();
}
7
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
DÃY TĂNG DẦN#include
void main()
{
int a[10], i, maxstart, maxend, maxlen, tmpstart, tmpend,
tmplen;
printf("\nNhap vao 10 phan tu nguyen cua day :");
for (i=0; i<10; i++)
scanf("%d", &a[i]);
printf("Day da cho :\n");
for (i=0; i<10; i++)
printf("%6d", a[i]);
maxstart = maxend = tmpstart = tmpend = 0;
maxlen = tmplen = 1;
for (i=1; i< 10; i++)
{
if (a[i] < a[tmpend])
{
if (maxlen < tmplen)
{
maxstart = tmpstart;
maxend = tmpend;
maxlen = tmplen;
}
tmpstart = tmpend = i;
tmplen = 1;
}
else
{
tmplen++;
tmpend++;
}
}
if (maxlen < tmplen)
{
maxstart = tmpstart;
maxend = tmpend;
}
printf("\nDay tang co so phan tu nhieu nhat la : \n");
for (i=maxstart; i<=maxend; i++)
printf("%6d", a[i]);
getch();
}
8
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
DÃY TĂNG CÓ TỔNG DÀI NHẤT#include
void main()
{
int a[10], i, maxstart, maxend, maxtotal, tmpstart, tmpend,
tmptotal;
printf("\nNhap vao 10 phan tu nguyen cua day :");
for (i=0; i<10; i++)
scanf("%d", &a[i]);
printf("Day da cho :\n");
for (i=0; i<10; i++)
printf("%6d", a[i]);
maxstart = maxend = tmpstart = tmpend = 0;
maxtotal = tmptotal = a[0];
for (i=1; i< 10; i++)
{
if (a[i] < a[tmpend])
{
if (maxtotal < tmptotal)
{
maxstart = tmpstart;
maxend = tmpend;
maxtotal = tmptotal;
}
tmpstart = tmpend = i;
tmptotal = a[i];
}
else
{
tmptotal += a[i];
tmpend++;
}
}
if (maxtotal < tmptotal)
{
maxstart = tmpstart;
maxend = tmpend;
}
printf("\nDay tang co tong nhieu nhat la : \n");
for (i=maxstart; i<=maxend; i++)
printf("%6d", a[i]);
getch();
}
9
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
QUẢN LÝ SINH VIÊN
#include
#include
#include
#include
#define
#define
#define
#define
MAX 100
TOAN 0
LY
1
HOA 2
struct sinhvien {
char mslop[5];
char hoten[35];
float diem[3];
} danhsach[MAX];
int n = 0;
void nhapmoi()
{
char mslop[5], tmp[3];
int i;
float diem[3];
do {
printf("\nCho biet ma so lop : ");
gets(mslop);
if (strlen(mslop))
{
strcpy(danhsach[n].mslop, mslop);
printf("\nCho biet ho ten : ");
gets(danhsach[n].hoten);
printf("\nCho biet diem so : ");
for (i=0; i<3; i++)
{
scanf("%f", &diem[i]);
danhsach[n].diem[i] = diem[i];
}
gets(tmp);
n++;
}
} while (strlen(mslop));
}
void timkiem()
{
char mslop[5];
int i = 0, found = 0;
10
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
printf("\nCho biet ma so lop : ");
gets(mslop);
if (strlen(mslop))
while (i
{
printf("\nMa so lop : %s", danhsach[i].mslop);
printf("\nHo va ten : %s", danhsach[i].hoten);
printf("\nDiem Toan : %f",
danhsach[i].diem[TOAN]);
printf("\nDiem Ly
: %f", danhsach[i].diem[LY]);
printf("\nDiem Hoa : %f", danhsach[i].diem[HOA]);
found = 1;
break;
}
else
i++;
if (!found)
printf("\nKhong tim thay!!!");
}
void xoa()
{
char mslop[5], traloi;
int i = 0, j;
printf("\nCho biet ma so lop : ");
gets(mslop);
if (strlen(mslop))
while (i
{
printf("\nMa so lop : %s", danhsach[i].mslop);
printf("\nHo va ten : %s", danhsach[i].hoten);
printf("\nDiem Toan : %f",
danhsach[i].diem[TOAN]);
printf("\nDiem Ly
: %f", danhsach[i].diem[LY]);
printf("\nDiem Hoa : %f", danhsach[i].diem[HOA]);
printf("\nCo muon xoa khong (C/K)? ");
do {
traloi = toupper(getch());
} while (traloi != 'C' && traloi != 'K');
putc(traloi, stdout);
if (traloi == 'C')
{
n--;
memcpy(&danhsach[i], &danhsach[i+1],
sizeof(struct sinhvien) * (n-i));
11
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
break;
}
}
else
i++;
}
void menu()
{
printf("\n***************");
printf("\n* 1. Them
*");
printf("\n* 2. Xoa
*");
printf("\n* 3. Tim kiem *");
printf("\n* 0. Thoat
*");
printf("\n***************");
printf("\nChon lua ? ");
}
void main()
{
char traloi;
do {
menu();
do {
traloi = getch();
} while (traloi < '0' || traloi > '3');
putc(traloi, stdout);
switch (traloi)
{
case '1' : nhapmoi();
break;
case '2' : xoa();
break;
case '3' : timkiem();
break;
}
} while (traloi != '0');
}
GIẢI PHƢƠNG TRÌNH BẬC HAI
#include
#include
void main()
{
float a, b, c, delta;
printf("\nGiai phuong trinh bac hai AXý + BX + C = 0");
printf("\nCho biet ba he so A B C : ");
12
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
scanf("%f%f%f", &a, &b, &c);
delta = b * b - 4 * a *
if (delta<0)
printf("Phuong trinh vo
else if (delta == 0)
printf("Phuong trinh co
b/(2*a));
else
{
printf("Phuong trinh co
+ sqrt(delta))/(2*a));
printf("\nx2 = %f", (-b
}
getch();
}
c;
nghiem");
nghiem kep x1 = x2 = %f", -
hai nghiem phan biet\nx1 = %f", (-b
- sqrt(delta))/(2*a));
MA PHƢƠNG
#include
#include
// func declaration
void matrix( int n );
// main()
int main(void)
{
int n;
// input until it's valid.
do
{
printf("\n Plz input size of matrix [ odd size & n <
20 ]: n = ");
scanf("%d",&n);
if ( n % 2 == 0 ) printf("\n Invalid input value .. Plz
re-input ... \n");
}
while ( n % 2 == 0 );
if ( n > 20 ) { n = 19 ; // in case of n is greater
than 20
printf("\n %d is greater than 20 & set to be default as
19 .",n ); } // end if
// call matrix()
matrix(n);
// stop to watch
13
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
getch();
return 0;
}
// function matrix(int n)
void matrix( int n )
{
int a[20][20];
int i, j, row, col, count = 1;
int old_row, old_col, sum = 0;
// set starting value of array
for ( i = 0 ; i < n ; i++ )
for ( j = 0 ; j < n ; j++ )
a[i][j] = 0;
// set the 1st value to start
row = 0; col = (n-1) / 2;
while ( count < n*n + 1 )
{
a[row][col] = count++ ; // set value for
elements
old_row = row ; old_col = col; // save the last
addresses
// define whether going out of array
row -= 1; if ( row == -1 ) row = n - 1;
col += 1; if ( col == n ) col = 0;
// in case of already having number
if ( a[row][col] != 0 )
{
row = old_row + 1;
col = old_col;
} // end if
} // end while
// print result
printf("\n");
for ( i = 0 ; i < n ; i++ )
{
for ( j = 0 ; j < n ; j++ )
printf("%4d",a[i][j]);
printf("\n");
} // end for
// calculate sum
for ( j = 0 ; j < n ; j++ )
sum += a[0][j];
14
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
printf("\n Sum of each row - column - diagonal line
is : %d " , sum);
return;
}
FILE VÀ HỆ THỐNG
1. Xóa 1 file dùng Remove
#include
int main()
{
remove("d:/urls1.dat");
return 0;
}
2. Xóa 1 File dùng Unlink
#include
int main()
{
remove("C:/pete.txt");
return 0;
}
3. Cho biết thông tin FAT#include
#include
void main(void)
{
struct fatinfo fat;
getfatd(&fat);
printf("Sectors per cluster %d\n", fat.fi_sclus);
printf("Clusters per disk %u\n", fat.fi_nclus);
printf("Bytes per cluster %d\n", fat.fi_bysec);
printf("Disk type %x\n", fat.fi_fatid & 0xFF);
}
4. Đếm tần suất 1 kí tự trong 1 file
# include
# include
main()
{
FILE *fp;
char in[100];
long int freq[257];
int i;
15
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
printf("\nFile frequency table generator\n\n");
printf("\nInput file:");
scanf("%s",in);
fp=fopen(in,"rb");
if(fp==NULL)
{
printf("\nCould not open input file.Aborting\n");
return 1;
}
for(i=0;i<257;i++)
freq[i]=0;
while(i=fgetc(fp),i!=EOF)
{
freq[i]++;
}
fcloseall();
fp=fopen("count.txt","w");
fprintf(fp,"\nCharacter frequency table of %s\n",in);
fprintf(fp,"\nCharacter ASCII frequency\n\n");
for(i=0;i<256;i++)
{
if(i==26)
{
fprintf(fp,"\t
26\t %ld\n",freq[26]);
}
else if(i==9)
{
fprintf(fp,"\t
9\t %ld",freq[9]);
}
else if(i<10)
{
fprintf(fp,"%c\t
%d\t %ld\n",i,i,freq[i]);
}
else if(i<100)
{
fprintf(fp,"%c\t
%d\t %ld\n",i,i,freq[i]);
}
else
{
fprintf(fp,"%c\t
%d\t %ld\n",i,i,freq[i]);
}
}
fcloseall();
16
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
printf("\nFrequency table copied to count.txt\n");
}
5. Đọc nội dung 1 file
#include
void main(void)
{
FILE *fp;
char ch;
fp = fopen("websites.txt","r");
ch = getc(fp);
while(ch!=EOF)
{
putchar(ch);
ch = getc(fp);
}
printf("\n\n");
}
6. Chọn ổ đĩa trong DOS#include
#include
void main(void)
{
int drives;
drives = setdisk(3);
printf("The number of available drives is %d\n", drives);
}
7.Chọn ổ đĩa trong WINS
#include
#include
#include
void main(void)
{
char szBuffer[MAX_PATH+100];
UINT nDrive, AvailDrive = 0;
int dwLogicalDrives = GetLogicalDrives();
DWORD Success;
printf("Number of logical drives: %d\n",
dwLogicalDrives);
for (nDrive = 0; nDrive < 32; nDrive++)
{
if (dwLogicalDrives & (1 << nDrive))
{ // Is drive available?
17
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
AvailDrive++;
// Get disk information.
wsprintf(szBuffer, "%c:\\", nDrive+'A', '\0');
// Print out information.
if(SetCurrentDirectory(szBuffer))
printf("%s Is Now Current\n", szBuffer);
else
printf("Could not set %s as the current
drive\n", szBuffer);
}
}
printf("Number of drives available: %d\n",
AvailDrive);
}
8. Cho biết kích thƣớc 1 file
#include
#include
#include
#include
int main()
{
int fp;
long file_size;
if ((fp = open("f:/cprojects/urls.txt", O_RDONLY)) == -1)
printf("Error opening the file \n");
else
{
file_size = filelength(file_handle);
printf("The file size in bytes is %ld\n", file_size);
close(fp);
}
return 0;
}
Tính thứ của ngày
#include
#include
struct date
{
int
month;
int
day;
int
year;
} date_1;
18
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
long int funct1 (int y,int m)
{
long int result;
if ( m <= 2 )
y -= 1;
result = y;
return (result);
}
long int funct2 (int m)
{
long int result;
if ( m <= 2 )
result = m + 13;
else
result = m + 1;
return(result);
}
long int day_count (int m, int d, int y)
{
long int number;
number = 1461 * funct1(y,m) / 4 + 153 * funct2(m) / 5 + d;
return (number);
}
void main ()
{
long int number_of_days1;
int day_of_week;
printf ("Nhap vao mot ngay (dd mm yyyy), vd 12 03 1999 \n");
scanf ("%d %d %d", &date_1.day, &date_1.month, &date_1.year);
number_of_days1 = day_count (date_1.month, date_1.day,
date_1.year);
printf ("\nNgay la : " );
day_of_week = (number_of_days1 - 621049) % 7;
switch (day_of_week)
{
case 0 :
printf ("Chu Nhat,");
break;
case 1 :
printf ("Thu Hai,");
break;
case 2 :
printf ("Thu Ba,");
break;
case 3 :
printf ("Thu Tu,");
break;
case 4 :
printf ("Thu Nam,");
break;
19
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
case 5 :
printf ("Thu Sau,");
break;
case 6 :
printf ("Thu Bay,");
break;
}
getch();
}
Giải hệ phƣơng trình bậc nhất.
#include
#include
void main()
{
int a, b, c, d, e, f, dthuc;
float x, y;
printf("\nNhap vao cac he so a,b,c,d,e,f : ");
scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f);
dthuc = b*d - e*a;
if (dthuc != 0)
{
y = (float)(c*d-a*f)/dthuc;
x = (float)(b*f-c*e)/dthuc;
printf("Nghiem x = %f, y = %f", x, y);
}
else
printf("\nHe phuong trinh vo ngiem.");
getch();
}
Nhập chuỗi và in chuỗi
#include
#include
void main()
{
char name[80];
printf("\nXin cho biet ten cua ban : ");
gets(name);
printf("Chao %s\n", name);
getch();
}
In ra bảng cửu chƣơng
#include
#include
#include
void main()
20
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
int i, j;
char chuoi[] = "B A N G
C U U
C H U O N G";
char ten[10][5] = {"","","Hai", "Ba", "Bon", "Nam",
"Sau", "Bay", "Tam", "Chin"};
clrscr();
textcolor(YELLOW);
gotoxy((80 - strlen(chuoi)) / 2, 1);
cprintf("%s\n\n", chuoi);
for (i=2; i<=9; i++)
{
gotoxy(10*(i-2) + (10 - strlen(ten[i]))/2, 4);
textcolor(i);
cprintf("%s", ten[i]);
}
for (j=1; j<=10; j++)
for (i=2; i<=9; i++)
{
gotoxy(10*(i-2) + 1, j+4);
textcolor(i);
cprintf("%dx%2d = %2d", i, j, i*j);
}
getch();
}
In ra năm âm lịch tƣơng ứng với năm nhập vào.
#include
#include
void main()
{
unsigned nam;
char can[][5] = {"Giap", "At", "Binh", "Dinh", "Mau", "Ky",
"Canh", "Tan", "Nham", "Quy"};
char chi[][5] = {"Ty", "Suu", "Dan", "Meo", "Thin", "Ty",
"Ngo", "Mao", "Than", "Dau", "Tuat", "Hoi"};
printf("\nNhap nam can biet : ");
scanf("%d", &nam);
printf("Nam am lich cua %d la %s %s", nam, can[(nam+6)%10],
chi[(nam+8)%12]);
getch();
}
Hiện bảng mã ASCII
#include
#include
void main()
{
int i, j;
clrscr();
printf("
");
21
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
for (j=0; j<16; j++)
printf("%3d", j);
for (i=2; i<16; i++)
for (j=0; j<16; j++)
{
if (j == 0)
printf("\n%2d ", i);
printf(" %c", i*16+j);
}
getch();
}
Chứng minh đẳng thức An Casi
#include
unsigned long vetrai(unsigned long n)
{
unsigned long tmp=0, i;
for (i=1; i<=n; i++)
tmp += i*i*i*i;
return tmp;
}
unsigned long vephai(unsigned long n)
{
unsigned long tmp;
tmp = (long)6*n*n*n*n*n + (long)15*n*n*n*n + (long)10*n*n*n - n;
tmp = tmp / (long)30 ;
return tmp;
}
void main()
{
unsigned long tong1, tong2, n;
for (n=1; n<=50; n++)
{
tong1 = vetrai(n);
tong2 = vephai(n);
if (tong1 == tong2)
{
printf("\nSo %d thoa man dang thuc An Casi. ", n);
printf("Tong1 = %ld - Tong2 = %ld", tong1, tong2);
}
else
{
printf("\nSo %d khong thoa man dang thuc An Casi. ", n);
printf("Tong1 = %ld - Tong2 = %ld", tong1, tong2);
}
}
getch();
}
Bài toán Ancarokhi
#include
22
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
void main()
{
int dai, rong;
printf("\nBai toan Ancarokhi : Tim dien tich hinh chu nhat co chieu
dai gap hai");
printf("\nchieu rong va dien tich = chu vi");
for (dai = 1; dai < 100; dai ++)
for (rong=1; rong < 100; rong++)
if (dai == 2 * rong && (dai + rong)*2 == dai*rong)
printf("\nDai = %d; Rong = %d", dai, rong);
getch();
}
Đếm số lần xuất hiện của các ký tự trong chuỗi
#include
#include
void main()
{
char chuoi[80];
int i = 0, count = 0;
printf("\nNhap vao mot chuoi bat ky : ");
gets(chuoi);
while (chuoi[i] != 0)
{
if (isalpha(chuoi[i++]))
count++;
}
printf("So ky tu trong chuoi = %d", count);
getch();
}
23
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Ví dụ về quá tải toán tử
#include
#include
#include
class PS
{
public:
long tu,mau;
PS()
{
tu=0;
mau=0;
}
~PS(){};
int uscln(long a,long b);
void rutgon();
void nhap();
void xuat();
PS operator+(PS &a);
PS operator-(PS &a);
PS operator*(PS &a);
PS operator/(PS &a);
};
int PS::uscln(long a,long b)
{
if(a!=0 && b!=0)
{
a=abs(a);
b=abs(b);
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
else
return 1;
}
void PS::rutgon()
{
int u;
u=uscln(tu,mau);
tu=tu/u;
mau=mau/u;
}
void PS::nhap()
{
Nhap:
cout<<"Nhap tu so ";
24
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
cin>>tu;
cout<<"Nhap mau so ";
cin>>mau;
if(mau==0)
{
cout<<"Mau phai khac 0"<
}
}
void PS::xuat()
{
rutgon();
if(mau<0)
{mau=-mau; tu=-tu;}
if(tu==0)
cout<<"0"<
if(mau==1)
cout<
cout<
PS PS::operator+(PS &a)
{
a.tu=tu*a.mau+mau*a.tu;
a.mau=mau*a.mau;
return a;
}
PS PS::operator-(PS &a)
{
a.tu=tu*a.mau-mau*a.tu;
a.mau=mau*a.mau;
return a;
}
PS PS::operator*(PS &a)
{
a.tu=tu*a.tu;
a.mau=mau*a.mau;
return a;
}
PS PS::operator/(PS &a)
{
a.tu=tu*a.mau;
a.mau=mau*a.tu;
return a;
}
25
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
Một ví dụ về sử dụng template và quá tải toán tử Nhập xuất
#include
#include
#include
class sv
{
private :
char ten[100];
float Diem;
public:
sv()
{
Diem=0;
}
sv(char a[],float D)
{
strcpy(ten,a);
Diem=D;
}
sv(sv&a)
{
Diem = a.Diem;
strcpy(ten,a.ten);
}
void set_sv(char a[],float D)
{
strcpy(ten,a);
Diem=D;
}
float get_diem()const
{
return Diem;
}
char* get_ten()
{
return ten;
}
friend ostream&operator <<(ostream&out,sv&);
friend istream&operator>>(istream&in,sv&);
operator float()
{
return float(Diem);
}
};
ostream&operator <<(ostream&out,sv&a)
{
cout<<"\n\n\t\t\tTen "<
istream&operator>>(istream&in,sv&a)
{
cout<<"\t\t\tNhap ten ";
cin.ignore();
cin.getline(a.ten,50);
26
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
cout<<"\t\t\tNhap diem ";
cin>>a.Diem;
}
int ucln(int a,int b)
{
int r;
while(b)
{
r = a%b;
a = b;
b=r;
}
return a;
}
class phanso
{
private:
float tu,mau;
public:
phanso(float a=1,float b=1)
{
if(b)
{
tu = a;
mau = b;
}
else
{
tu =1;
mau=1;
}
}
void set_phanso(float a,float b)
{
tu =a;
mau = b;
}
void nhap()
{
cout<<"\t\t\tNhap du lieu cho phan so "<
cin>>tu;
cout<<"\t\t\tMau ";
cin>>mau;
toigian();
}
void toigian()
{
int t=ucln(tu,mau);
tu = tu/t;
mau = mau/t;
}
operator float()
{
return float(tu/mau);
27
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
}
friend ostream&operator <<(ostream&out,phanso&a);
friend istream&operator >>(istream&in,phanso&a);
};
ostream&operator<<(ostream&out,phanso&a)
{
out<
}
istream&operator >>(istream&in,phanso&a)
{
cout<<"\t\tTu ";
cin>>a.tu;
cout<<"\t\tMau ";
cin>>a.mau;
}
template
class set
{
private:
T data[n];
int spt;
public:
set()
{
spt=0;
}
set(const set&a)
{
for(int i=0;i
spt = a.spt;
}
void them(T&a);
bool search(T&a);
friend ostream& operator<<(ostream&out,set
friend set operator +(set&a,set&b);
friend set operator *(set&a,set&b);
friend set operator -(set&a,set&b);
set operator =(const set&b)
{
for(int i=0;i
spt=b.spt;
return (*this);
}
};
template
void set
{
if(spt
else
cout<<"\t\tMang da day rui khong them duoc nua dau "<
template
28
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
bool set
{
for(int i=0;i
return true;
return false;
}
template
ostream&operator<<(ostream&out,set
{
if(a.spt==0)
out<<" rong "<
out<
}
}
template
set
{
set
for(int i=0;i
r.them(b.data[i]);
return r;
}
template
set
{
set
for(int i=0;i
r.them(a.data[i]);
return r;
}
template
set
{
set
for(int i=0;i
r.them(a.data[i]);
return r;
}
void main()
{
set
set
29
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
set
set
set
set
set
int n,m,l;
float r;
sv A;
phanso s;
cout<<"\t\t\tNhap so luong cac so thu ";
cin>>n;
for(int i=0;i
cout<<" nhap so thu "<<(i+1)<<":";
cin>>r;
a.them(r);
}clrscr();
cout<<"\t\t\tNhap so luong phan so ";
cin>>m;
for(int i=0;i
cout<<"\t\t\tNhap phan so thu "<<(i+1)<
b.them(s);
c.them(s);clrscr();
}
clrscr();
cout<<"\t\t\tNhap so luong cac sinh vien ";
cin>>l;
for(int i=0;i
cout<<"\t\t\tNhap du lieu cho sinh vien thu "<<(i+1)<
g.them(A);
clrscr();
}
clrscr();
textcolor(YELLOW+RED);
cprintf("%s","\t\t\tchuong trinh da gan cac so 1 cach tu dong ta duo
c ");
cout<<"\n\nday so thuc vua nhap "<
d = a+c;
cout<<"\n\n hop cua hai tap hop phan so va so thuc la "<
cout<<"\n\n giao cua hai tap so thuc va phan so la "<
cout<
30
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
getch();
}
Tổng hai ma trận
#include
#include
#include
void congmt(float a[][10],float b[][10],float c[][10],int hang,int cot)
;
void nhapmt(float a[][10],int hang,int cot);
void inmt(float a[][10],int hang,int cot);
void main()
{
system("color 3e");
float a[10][10],b[10][10],c[10][10];
int hang1,cot1;
cout<<"Moi ban nhap vao ma tran a: \n";
cout<<"Nhap vao so hang cua ma tran a: ";
cin>>hang1;
cout<<"Nhap vao so cot cua ma tran a: ";
cin>>cot1;
nhapmt(a,hang1,cot1);
inmt(a,hang1,cot1);
int hang2,cot2;
cout<<"Moi ban nhap vao ma tran b: \n";
do
{
cout<<"Nhap vao so hang cua ma tran b: ";
cin>>hang2;
}while(hang2 != hang1);
do
{
cout<<"Nhap vao so cot cua ma tran b: ";
cin>>cot2;
}while(cot2 != cot1);
nhapmt(b,hang2,cot2);
inmt(b,hang2,cot2);
cout<<"\nVay tong cua hai ma tran a,b la: \n";
congmt(a,b,c,hang1,cot1);
inmt(c,hang1,cot1);
getch();
}
void congmt(float a[][10],float b[][10],float c[][10],int hang,int cot)
{
for (int i=0; i
}
void nhapmt(float a[][10],int hang,int cot)
{
for(int i = 0;i < hang;i++)
31
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
for(int j = 0; j < cot; j++)
{
cout<<"Nhap vao phan tu ["<cin>>a[i][j];
}
}
}
void inmt(float a[][10],int hang,int cot)
{
for(int i = 0; i < hang; i++)
{
for(int j = 0; j < cot; j++)
{
cout<}
cout<
}
Tiếp một ví dụ về Đa hình
#include
#include
#include
class Point
{
private:
int x; int y;
public:
Point()
{
x = 0; y = 0;
}
Point(int a,int b)
{
x = a; y = b;
}
virtual void set(int a,int b)
{
x = a; y = b;
}
float gettung()
{
return y;
}
float gethoanh()
{
return x;
}
float kc(Point t)
{
return ((x - t.x)*(x - t.x) + (y - t.y)*(y - t.y));
}
virtual void in()
{
32
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
cout<<"\n("<
};
class Cpoint : protected Point
{
private:
int mau;
public:
Cpoint() : Point()
{
mau = 0;
}
Cpoint(int a,int b,int mau_) : Point(a,b)
{
mau = mau_;
}
void set(int a,int b,int mau_)
{
Point::set(a,b);
mau = mau_;
}
void in()
{
Point::in();
cout<<" Co mau la "<
} ;
void main()
{
Point *p;
p = new Cpoint(3,5,6);
p->in();
delete p;
p = new Point(5,2);
p->in();
getch();
}
Một ví dụ về Đa hình
#include
#include
#include
class hinhve
{
public:
virtual float dientich() = 0;
virtual char *ten() = 0;
virtual void in()=0;
};
class haichieu : public hinhve
{
public:
virtual float chuvi() = 0;
void in()
33
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
cout<<"ten cua hinh: "<
};
class bachieu : public hinhve
{
public:
virtual float thetich() = 0;
void in()
{
cout<<"ten cua hinh: "<
};
class hinhtron : public haichieu
{
private:
float r;
public:
hinhtron() { r = 0;}
hinhtron(float bk) {r = bk;}
float chuvi()
{
return 2*3.14*r;
}
float dientich()
{
return 3.14*r*r;
}
char *ten()
{
return "Hinh Tron";
}
};
class hinhvuong : public haichieu
{
private:
float a;
public:
hinhvuong(float x)
{
a = x;
}
float chuvi()
{
return a*4;
}
float dientich()
34
CuuDuongThanCong.com
https://fb.com/tailieudientucntt
{
return a*a;
}
char *ten()
{
return "Hinh Vuong";
}
};
class tgdeu : public haichieu
{
private:
float a;
public:
tgdeu(float x) : a(x){}
float chuvi()
{
return 3*a;
}
float dientich()
{
return a*a*sqrt(3)/2;
}
char *ten()
{
return "Hinh tam giac deu";
}
};
class cau: public bachieu
{
private:
float r;
public:
cau(float bk): r(bk){}
float thetich() { return r*r*r*3.14;}
float dientich() { return 4*3.14*r*r; }
char *ten()
{
return "Hinh Cau";
}
};
class lapphuong : public bachieu
{
private:
float a;
public:
lapphuong(float x) : a(x) {}
float thetich() { return a*a*a; }
float dientich() { return 6*a*a; }
char * ten() { return "Hinh Lap Phuong"; }
};
void main()
{
hinhve *p;
p = new hinhtron(3);
35
CuuDuongThanCong.com
https://fb.com/tailieudientucnt...
 








Các ý kiến mới nhất