Tải bản đầy đủ (.docx) (20 trang)

Ôn tập lập trình C++

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (138.15 KB, 20 trang )

1.

Tính tổng S(n)= 1+ ½ + 1/3+1/4+…+1/n

}

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

2.

Tìm số đảo ngược của số nguyên dương n. Vd nhập
123456 thì in ra 654321.

int main()
#include<stdio.h>
{

int i, n;
#include<conio.h>
float S;
int main()
S = 0; i = 1;
{
do
int n;
{
int SoNghichDao = 0;
printf("\nNhap n: ");
do
scanf("%d", &n);


{

printf("\nNhap n: ");

if(n < 1)
scanf("%d", &n);
{
}while(n < 0 && printf("\nLoi: (n >= 0)"));
printf("\nN phai > = bang 1. Xin nhap lai !");
}
printf("\nSo dao nguoc cua %d la: ", n);
}while(n < 1);
do
{ printf("%d", n % 10);
while(i <= n)
}while( n /= 10);
{
getch();
S = S + 1.0 / i; // ph?i nh? là 1.0 / i
return 0;
i++;
}
}
3.

Viết chương trình in ra tam giác cân có độ cao h.

printf("i = %d", i);
#include<stdio.h>
printf("\nS = %f", S);

#include<conio.h>
printf("\nTong 1 + 1/2 + ... + 1/%d la %.2f: ",n, S);
int main()
getch();
{ int i, j, n;
return 0;
printf("\nNhap n: ");

1


scanf("%d", &n);

printf((j <= i) ? "%c" : " ",
234);
}

// Câu a: tam giac can dac nam giua mang hinh
printf("\n\n");
for(i = 1; i <= n; ++i)
}
{
// Câu d: tam giac vuong can rong
for(j = 1; j <= n + i - 1; ++j)
for(i = 1; i <= n; ++i)
{
{
printf((j < n - i + 1) ? " " :
"%c", 234);


for(j = 1; j <= n; ++j)
}

{

putchar('\n');

printf((j == i || j == 1 || i ==
n) ? "*" : " ");

}
}
// Câu b: tam giac can rong nam giua mang hinh
printf("\n");
for(i = 1; i <= n; ++i)
{
getch();
for(j = 1; j <= n + i - 1; ++j)
return 0;
{
}
printf((j == n - i + 1 || j == n
+ i - 1 || i == n) ? "%c" : " ", 234);
}

4.

Viết hàm tìm giá trị lớn nhất trong mảng 1 chiều các
số thực


putchar('\n');
}
#include<stdio.h>
printf("\n");
#include<conio.h>
// Câu c: tam giac vuong can dac
#define MAX 100
for(i = 1; i <= n; ++i)
void nhapmang_1Chieu (float a[], int &n)
{
{
for(j = 1; j <= n; ++j)
do
{
{

2


printf("\nNhap so phan tu: ");

{

scanf("%d", &n);

for(int i = 0; i < n; i++)

if(n <= 0 || n > MAX)

{


{

printf("%8.3f", a[i]);

printf("\nSo phan tu khong
hop le. Xin kiem tra lai !");

}
}

}
}while(n <= 0 || n > MAX);
int main()
for(int i = 0; i < n; i++)
{
{
int n;
printf("\nNhap a[%d]: ", i);
float a[MAX];
scanf("%f", &a[i]);
nhapmang_1Chieu(a, n);
}
xuat_mang_1Chieu(a, n);
}

float ln = lonnhat(a, n);
float lonnhat(float a[], int n)
{
printf("\nPhan tu lon nhat trong mang la

%.3f", ln);

float ln = a[0];
for(int i = 0; i < n; i++)
{

getch();
if(a[i] > ln)

return 0;

{

}
ln = a[i];

}

5.

Tính tổng các giá trị âm trong mảng 1 chiều

}

float tongam(float a[], int n)

return ln;

{


}

float s = 0;

void xuat_mang_1Chieu (float a[], int n)

for(int i = 0; i < n; i++)

3


{

int dem = 0;
if(a[i] < 0)

for(int i = 0; i < n; i++)

{

{
s = s + a[i];

if(a[i] % 2 == 0)

}

{

}


dem++;

return s;

}

}

}

int main()

return dem;

{

}
int n;
float a[MAX];

int main()
{

nhap(a, n);

int n;

xuat(a, n);


int a[MAX];
int x;

float tong = tongam(a, n);
printf("\nTong cac so am trong mang la %.3f",

nhap(a, n);

tong);
xuat(a, n);

getch();
int SoChan = DemSoChan(a, n);
return 0;
printf("\nSo luong so chan la %d", SoChan);
}

6.

Đếm số lượng số chẳn có trong mảng 1 chiều
getch();
…. #include<math.h>
return 0;
int DemSoChan(int a[ ], int n)
}
{

4



7.

Sắp xếp mảng giảm dần 1 chiều
… #include <math.h>

SapXepGiamDan(a, n);

void HoanVi(int &a, int &b)

printf("\nMang sau khi sap xep giam: ");

{

xuat(a, n);
int temp = a;
a = b;

getch();

b = temp;

return 0;

}

}

void SapXepGiamDan(int a[], int n)
{


8.
for(int i = 0; i < n - 1; i++)

Nhập xuất ma trận.
Tỉnh tổng các phần tử trên đường chéo chính, chéo
phụ

{

#include<stdio.h>
for(int j = i + 1; j < n; j++)

#include<conio.h>

{

#include<math.h>
if(a[i] < a[j])

#define MAX 100

{

void NhapMaTran(int a[][MAX], int &n)
HoanVi(a[i], a[j]);

}
}
}


{
do
{
printf("\nNhap n: ");

}

scanf("%d", &n);

int main()

if(n < 1 || n > MAX)

{

{
int n;
int a[MAX];

printf("\nSo phan tu khong
hop le. Xin kiem tra lai !");
}
}while(n < 1 || n > MAX);

nhap(a, n);
xuat(a, n);

5



for(int i = 0; i < n; i++)

S += a[i][i];

{

}
for(int j = 0; j < n; j++)
{

return S;
}

printf("\nNhap vao a[%d]

int TinhTongCacPhanTuTrenDuongCheoPhu(int a[]
[MAX], int n)

scanf("%d", &a[i][j]);

{

[%d] = ", i, j);

}

int S = 0;

}


for (int i = 0; i < n; i++)

}

{
S += a[i][n - 1 - i];

void XuatMaTran(int a[][MAX], int n)

}

{

return S;}
for(int i = 0; i < n; i++)

int main()

{

{
for(int j = 0; j < n; j++)

int a[MAX][MAX], n;

{

NhapMaTran(a,n);
printf("%4d",a[i][j]);


XuatMaTran(a,n);

}
printf("\n\n");

int tong =
TinhTongCacPhanTuTrenDuongCheoChinh(a, n);

}
printf("\nTong cac phan tu tren duong cheo
chinh = %d", tong);

}

int tongph =
TinhTongCacPhanTuTrenDuongCheoPhu(a, n);
int TinhTongCacPhanTuTrenDuongCheoChinh(int
a[][MAX], int n)

printf("\nTong cac phan tu tren duong cheo
phu = %d", tongph);

{
int S = 0;
for (int i = 0; i < n; i++)

getch();
return 0;

{


6


}

printf("%4d", a[i][j]);
}

9.

Tính tổng 2 ma trận

printf("\n\n");
}

#include<stdio.h>

}

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

void TinhTong2MaTran(int a[][MAX], int b[][MAX],
int c[][MAX], int dong, int cot)

#define MAX 100
{
for(int i = 0; i < dong; i++)
void NhapMaTran(int a[][MAX], int &dong, int &cot)

{
{
for(int j = 0; j < cot; j++)
for(int i = 0; i < dong; i++)
{
{
c[i][j] = a[i][j] + b[i][j];
for(int j = 0; j < cot; j++)
}
{
}
printf("\nNhap a[%d][%d] =
", i, j);

}
scanf("%d", &a[i][j]);
}
}

int main()
{
int a[MAX][MAX], b[MAX][MAX], c[MAX]
[MAX], dong, cot;

}
//Nh?p s? dòng
do
void XuatMaTran(int a[][MAX], int dong, int cot)
{
{

printf("\nNhap vao so dong: ");
for(int i = 0; i < dong; i++)
// Cách tà d?o: scanf("dong =
%d",&dong); // Lúc nh?p ph?i vi?t thêm ch? ( dong =
) ? khung console

{
for(int j = 0; j < cot; j++)

scanf("%d",&dong);

{

7


if(dong < 1 || dong > MAX)

XuatMaTran(a, dong, cot);

{
printf("\nSo dong khong hop

printf("\nMa tran B vua nhap: \n");

le. Xin kiem tra lai!");
XuatMaTran(b, dong, cot);
}

TinhTong2MaTran(a, b, c, dong, cot);


}while(dong < 1 || dong > MAX);

printf("\nMa tran C = A + B \n");
XuatMaTran(c, dong, cot);

//Nh?p s? c?t
do

getch();

{

return 0;

printf("\nNhap vao so cot: ");
scanf("%d",&cot);

if(cot < 1 || cot > MAX)

}

** tích 2 ma trận

{
printf("\nSo cot khong hop
le. Xin kiem tra lai!");

void TinhTich2MaTran(int a[][MAX], int b[][MAX],
int t[][MAX], int donga, int cota, int cotb)

{
for(int i = 0; i < donga; i++)

}

{
for(int j = 0; j < cotb; j++)

}while(cot < 1 || cot > MAX);

{

printf("\nNhap vao ma tran A: \n");

t[i][j] = 0;

NhapMaTran(a, dong, cot);

for(int k = 0; k < cota; k++)
{

printf("\nNhap vao ma tran B: \n");
NhapMaTran(b, dong, cot);

t[i][j] += a[i][k] *
b[k][j];
}

printf("\nMa tran A vua nhap: \n");


}

8


}

//

}

scanf("%d", &a[n - 1]);

//}

void NhapMang(int **a, int dong, int cot, int i = 0)
10. Mảng 2 chiều

{

/* Đề bài: Nhập vào mảng 2 chiều các số nguyên,

if(i == dong * cot)

xuất ra mảng vừa nhập và thực hiện các thao

{

tác sau:


return; // K?t thúc.

a/ Tính tổng các phần tử của mảng.

}

b/ Tìm Min - Max của mảng.
c/ Đếm số lượng các số chẵn trong mảng.

printf("\nNhap vao a[%d][%d] = ", i / cot, i %
cot);

d/ Sắp xếp mảng tăng dần/giảm dần theo chiều từ trên xuống
dưới, từ trái qua phải.

scanf("%d", &a[i / cot][i % cot]);
NhapMang(a, dong, cot, i + 1);

Yêu cầu: Làm hoàn toàn bằng đệ quy */
}

#include <stdio.h>
void XuatMang(int **a, int dong, int cot, int i = 0)
#include <conio.h>
{
#include <limits.h>
if(i == dong * cot)
{
return;
//void NhapMang(int *a, int n)

}
//{
if(i % cot == 0)
//

if(n == 0)

//

{

{
printf("\n");
//

return;
}

//

}
printf("%4d", a[i / cot][i % cot]);

//
XuatMang(a, dong, cot, i + 1);
//

NhapMang(a, n - 1);

//


printf("\nNhap vao a[%d] = ", n - 1);

}

9


return TimMax(a, dong, cot, i + 1, a[i / cot][i
% cot] > Max ? a[i / cot][i % cot] : Max);
int TinhTong(int **a, int dong, int cot, int i = 0, int
Tong = 0)

}

{
if(i == dong * cot)

int DemSoLuongSoChan(int **a, int dong, int cot, int i
= 0, int dem = 0)

{
{
return Tong;
if(i == dong * cot)
}
{
return TinhTong(a, dong, cot, i + 1, Tong +
a[i / cot][i % cot]);


return dem;

}

}
return DemSoLuongSoChan(a, dong, cot, i +
1, a[i / cot][i % cot] % 2 == 0 ? dem + 1 : dem);

int TimMin(int **a, int dong, int cot, int i = 0, int Min
= INT_MAX)

}

{
if(i == dong * cot)

void HoanVi(int &a, int &b)

{

{
return Min;

int Temp = a;

}

a = b;

return TimMin(a, dong, cot, i + 1, a[i / cot][i

% cot] < Min ? a[i / cot][i % cot] : Min);

b = Temp;
}

}

void SapTangDan(int **a, int dong, int cot, int i = 0)
int TimMax(int **a, int dong, int cot, int i = 0, int Max
= INT_MIN)
{

{
if(i == dong * cot - 1)

if(i == dong * cot)

{

{

return;
return Max;

}

}

10



for(int k = i + 1; k < dong * cot; k++)
{

SapGiamDan(a, dong, cot, i + 1);
}

if(a[i / cot][i % cot] > a[k / cot][k %
cot])
int main()
{
{
HoanVi(a[i / cot][i % cot],
a[k / cot][k % cot]);

int dong = 3, cot = 3;

}
}

int **a = new int*[dong]; // C?p phát s? dòng.

SapTangDan(a, dong, cot, i + 1);

// V?i m?i dịng thì c?p phát s? c?t tuong ?ng.

}

for(int i = 0; i < dong; i++)
{


void SapGiamDan(int **a, int dong, int cot, int i = 0)

a[i] = new int[cot];

{

}
if(i == dong * cot - 1)
{

NhapMang(a, dong, cot);
return;

XuatMang(a, dong, cot);

}
printf("\nTong la: %d", TinhTong(a, dong,
cot));
for(int k = i + 1; k < dong * cot; k++)
printf("\nMin = %d & Max = %d", TimMin(a,
dong, cot), TimMax(a, dong, cot));

{
if(a[i / cot][i % cot] < a[k / cot][k %
cot])

printf("\nSo luong so chan = %d",
DemSoLuongSoChan(a, dong, cot));


{
HoanVi(a[i / cot][i % cot],

SapGiamDan(a, dong, cot);

a[k / cot][k % cot]);
printf("\nMang sau khi sap giam dan la: ");
}
XuatMang(a, dong, cot);
}

11


SapTangDan(a, dong, cot);

printf("\nGia tri vung nho pa tro den: %d", *pa);

printf("\nMang sau khi sap tang dan la: ");

printf("\nGia tri cua bien a: %d", a);

XuatMang(a, dong, cot);
printf("\nDia chi bien pa: %d", &pa);
/* Gi?i phóng con tr? c?p 2 */
for(int i = 0; i < dong; i++)
{

// -> địa chỉ biến pa,
// có 2 cái địa chỉ

// 1 là địa chỉ của biến con trỏ pa
// 2 là địa chỉ mà con trỏ pa trỏ đến

delete[] a[i];
}
delete[] a;

// Toán tử * để lấy ra giá trị mà con trỏ
đang trỏ đến
// Ko để tốn tử gì cả thì lấy ra địa chỉ
mà con trỏ đang trỏ đến
// Nếu để cả dấu & trước tên con trỏ thì ta
đang lấy ra "địa chỉ của riêng" con trỏ.

getch();
getch();
return 0;
return 0;
}
}

11. Con trỏ
** Khai báo và khởi tạo
12. SourceCode Phân số
#include<stdio.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()

{
struct PhanSo
int a = 5, *pa = &a;
{
printf("\nGia tri bien pa: %d", pa);
float TuSo;

// -> pa và &a đều chỉ địa chỉ của biến a

float MauSo;
};
printf("\nDia chi cua bien a: %d", &a);
// -> *pa và a đều chỉ nội dung của biến a

typedef struct PhanSo PHANSO;

12


scanf("%f", &temp);
void NhapPhanSo(PHANSO &);

ps.MauSo = temp;

void XuatPhanSo(PHANSO);

if(ps.MauSo == 0)

PHANSO RutGonPhanSo(PHANSO);


{

PHANSO TinhTong2PhanSo(PHANSO, PHANSO);

printf("\nMau so phai khac
0. Xin kiem tra lai !");

PHANSO TinhHieu2PhanSo(PHANSO, PHANSO);
}
PHANSO TinhTich2PhanSo(PHANSO, PHANSO);
}while(ps.MauSo == 0);
PHANSO TinhThuong2PhanSo(PHANSO, PHANSO);
}
bool KiemTraPhanSoToiGian(PHANSO);
void QuiDong2PhanSo(PHANSO &, PHANSO &);
void XuatPhanSo(PHANSO ps)
bool KiemTraPhanSoDuong(PHANSO);
{
bool KiemTraPhanSoAm(PHANSO);
printf("%.2f / %.2f", ps.TuSo, ps.MauSo);
int SoSanh2PhanSo(PHANSO, PHANSO);
}
PHANSO operator +(PHANSO, PHANSO);
PHANSO operator -(PHANSO, PHANSO);
float TimUCLN(float a, float b)
PHANSO operator *(PHANSO, PHANSO);
{
PHANSO operator /(PHANSO, PHANSO);
if(a < 0)
{

a = a * -1;
void NhapPhanSo(PHANSO &ps)
}
{
if(b < 0)
float temp;
{
printf("\nNhap vao tu so: ");
b = b * -1;
scanf("%f", &temp);
}
ps.TuSo = temp;
do
if(a == 0 && b !=0)
{
{
printf("\nNhap vao mau so: ");

13


return b;

{

}

PHANSO ketqua;

else if( b == 0 && a != 0 )


ketqua.TuSo = a.TuSo * b.MauSo + a.MauSo
* b.TuSo;

{
ketqua.MauSo = a.MauSo * b.MauSo;
return a;
return ketqua;
}
}
// Bài 508 : tính hiệu 2 phân số
while(a != b)
PHANSO TinhHieu2PhanSo(PHANSO a, PHANSO b)
{
{
if(a > b)
PHANSO ketqua;
{
ketqua.TuSo = a.TuSo * b.MauSo - a.MauSo *
a = a - b;

b.TuSo;

}

ketqua.MauSo = a.MauSo * b.MauSo;

else

return ketqua;

b = b - a;

}

}

// Bài 509 : tính tích 2 phân số

return a;

PHANSO TinhTich2PhanSo(PHANSO a, PHANSO b)
{

}
// Bài 506: Rút gon phân số

PHANSO ketqua;

PHANSO RutGonPhanSo(PHANSO a)

ketqua.TuSo = a.TuSo * b.TuSo;

{

ketqua.MauSo = a.MauSo * b.MauSo;
return ketqua;

float UCLN = TimUCLN(a.TuSo, a.MauSo);
a.TuSo = a.TuSo / UCLN;


}

a.MauSo = a.MauSo / UCLN;
return a;
}
// Bài 507: tính tổng 2 phân số

// Bài 510 tính thương 2 phân số
PHANSO TinhThuong2PhanSo(PHANSO a, PHANSO
b)
{

PHANSO TinhTong2PhanSo(PHANSO a, PHANSO b)

14


PHANSO ketqua;

}

ketqua.TuSo = a.TuSo * b.MauSo;
ketqua.MauSo = a.MauSo * b.TuSo;

//513 Kiểm tra phân số dương

return ketqua;

bool KiemTraPhanSoDuong(PHANSO a)


}

{
if (a.TuSo >= 0 && a.MauSo > 0)

// Bài 511 kiểm tả phân số tối giản

return true;

bool KiemTraPhanSoToiGian(PHANSO a)
{

return false;
}

PHANSO c = RutGonPhanSo(a);
if (c.TuSo == a.TuSo && c.MauSo == a.MauSo)
return true;

//514 Kiểm tra phân só âm
bool KiemTraPhanSoAm(PHANSO a)
{

return false;

if (a.TuSo < 0 || a.MauSo < 0)

}

return true;

return false;

// Bài 512 quy đồng 2 phân số

}

void QuiDong2PhanSo(PHANSO &a, PHANSO &b)
{

//515 So sánh 2 phân số: hàm trả về 1 trong 3 giá trị: 0,1,1
PhanSo temp;
int SoSanh2PhanSo(PHANSO a, PHANSO b)
temp.TuSo = a.TuSo;
{
temp.MauSo = a.MauSo;
float kq1 = a.TuSo / a.MauSo;
float kq2 = b.TuSo / b.MauSo;
a.TuSo *= b.MauSo;
if (kq1 < kq2)
a.MauSo *= b.MauSo;
return -1;
if (kq1 > kq2)
b.TuSo *= temp.MauSo;
return 1;
b.MauSo *= temp.MauSo;
return 0;

15



}

PhanSo kq;

//516 Ð?nh nghia toán t? operator + cho 2 phân s?

kq.TuSo = a.TuSo * b.MauSo;

PHANSO operator +(PHANSO a, PHANSO b)

kq.MauSo = a.MauSo * b.TuSo;

{

return kq;
PhanSo kq;

}

kq.TuSo = a.TuSo * b.MauSo + a.MauSo * b.TuSo;
kq.MauSo = a.MauSo * b.MauSo;

//520 Ð?nh nghia toán t? operator ++ cho 2 phân s?

return kq;

PHANSO operator ++ (PHANSO &a)

}


{

//517 Ð?nh nghia toán t? operator - cho 2 phân s?

a.TuSo += a.MauSo;

PHANSO operator -(PHANSO a, PHANSO b)

return a;

{

}
PHANSO kq;

//521 Ð?nh nghia toán t? operator -- cho 2 phân s?

kq.TuSo = a.TuSo * b.MauSo - a.MauSo * b.TuSo;

PHANSO operator ++ (PHANSO &a)

kq.MauSo = a.MauSo * b.MauSo;

{

return kq;

a.TuSo -= a.MauSo;

}


return a;

//518 Ð?nh nghia toán t? operator * cho 2 phân s?

}

PHANSO operator *(PHANSO a, PHANSO b)

int main()

{

{
PhanSo kq;

PHANSO ps1, ps2;

kq.TuSo = a.TuSo * b.TuSo;

NhapPhanSo(ps1);

kq.MauSo = a.MauSo * b.MauSo;

XuatPhanSo(ps1);

return kq;

NhapPhanSo(ps2);


}

XuatPhanSo(ps2);

//519 Ð?nh nghia toán t? operator / cho 2 phân s?
PHANSO operator /(PHANSO a, PHANSO b)

// 506

{

PHANSO a = RutGonPhanSo(ps1);

16


printf("\nPhan so sau khi rut gon: ");
XuatPhanSo(a);

// 511
bool Check = KiemTraPhanSoToiGian(a);

PHANSO b = RutGonPhanSo(ps2);

if (Check)

printf("\nPhan so sau khi rut gon: ");

printf("\nPhan so a toi gian roi");


XuatPhanSo(b);

else
printf("\nPhan so a chua toi gian");

// 507

// 512

PHANSO tong = TinhTong2PhanSo(a, b);

QuiDong2PhanSo(ps1, ps2);

printf("\nTong 2 phan so: ");

printf("\nQuy dong phan so: ");

XuatPhanSo(tong);

XuatPhanSo(ps1);
printf("\nQuy dong phan so: ");

// 508

XuatPhanSo(ps2);

PHANSO hieu = TinhHieu2PhanSo(a, b);

getch();


printf("\nHieu 2 phan so: ");

return 0;

XuatPhanSo(hieu);

}

// 509

16. Tập tin
Đọc và in ra nội dung tập tin

PHANSO tich = TinhTich2PhanSo(a, b);
printf("\nTich 2 phan so: ");
XuatPhanSo(tich);

// 510
PHANSO thuong = TinhThuong2PhanSo(a,
b);

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

void transFile(FILE* inFile, FILE* outFile)
{

printf("\nThuong 2 phan so: ");

int ch;


XuatPhanSo(thuong);

while(1)

17


{

#include<ctype.h>
ch = fgetc(inFile);
if(!feof(inFile))

void UpcaseFile(FILE* inoutFile)

{

{
fputc(ch, outFile);

char ch;

}

long pos;

else

while(!feof(inoutFile))

break;

{

}

ch = fgetc(inoutFile);

// d?c ký

t? hi?n hành
}
if(feof(inoutFile)){
void main()
break;
{
}
FILE *fpIn;
char* fname = "Data.txt";
fpIn = fopen(fname,"rt");

pos = ftell(inoutFile);
nh?n v? trí d?c ghi hi?n t?i

// ghi

fseek(inoutFile, pos - 1,
SEEK_SET); // d?i v? trí d?c ghi lên tru?c

if(fpIn == NULL)


ch = toupper(ch);

// d?i

fputc(ch, inoutFile);

// ghi

sang ký t? hoa

{
printf("FIle %s not found\n", fname);

ký t?

}
transFile(fpIn, stdout);

SEEK_SET);

fseek(inoutFile, pos,
// d?i v? trí d?c ghi v? ch? cu

}

fclose(fpIn);
}
getch();
}


void main()
{
char* fname = "Data.txt";

** In hoa các chữ trong tập tin
#include<stdio.h>
#include<conio.h>

FILE* fpInOut = fopen(fname, "r + b");
if(fpInOut == NULL)
{

18


printf("File %s not found!\n",

fscanf(f, "%d", &a[i]);

fname);
}
return;
fclose(f);
}
}
UpcaseFile(fpInOut);
void XuatMang(int n, int a[])
fclose(fpInOut);
{

getch();
for(int i = 0; i < n; i++)
}
{
printf("%4d", a[i]);
}
** Nhập mảng từ file
printf("\n");
#include<stdio.h>
}
#include<conio.h>

void XuatMangRaFile(char TenFile[], int n, int a[])
void NhapMangTuFile(char TenFile[], int &n, int a[])
{
{
FILE* f; f = fopen(TenFile, "w");
FILE* f;
if(f == NULL)
f = fopen(TenFile, "r");
{
if(f == NULL)
printf("\nKhong tao duoc file\n");
{
fclose(f);
printf("\nKhong doc duoc file");
return;
fclose(f);
}
return;

for(int i = 0; i < n; i++)
}
{
fprintf(f, "%4d", a[i]);
fscanf(f, "%d", &n);
}
for(int i = 0; i < n; i++)
fclose(f);
{
}

19


int main()

}

{

return found;
int n;

}

int a[100];
NhapMangTuFile("input.txt", n, a);

void main()


printf("\nMang da nhap");

{

XuatMangRaFile("output.txt", n, a);

FILE* fp = fopen("Data.txt", "rt");

getch();

char *str = "This is";

return 0;

if(fp != NULL)

}

{
** Tìm chuỗi kí tự

long pos = findLine(fp, str);
if(pos != -1)

#include<stdio.h>

{

#include<conio.h>


printf("Found at line #
%ld\n", pos);

#include<string.h>
}
#define maxN 2048
else
{
long findLine(FILE* inFile, char *str)
printf("\n" "%s not found in
file...\n", str);

{

}

long count = 0, found = -1; char line[maxN];
}

while(fgets(line, maxN - 1, inFile) != NULL)
{

getch();

if(strncmp(str, line, strlen(str)) == 0)
}

{
found = count;
break;

}
count++;

20



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×