You are on page 1of 7

Đã bắt đầu vào Thứ tư, 6 Tháng mười hai 2023, 4:20 PM

lúc
Tình trạng Đã hoàn thành
Hoàn thành vào Thứ tư, 20 Tháng mười hai 2023, 11:16 PM
lúc
Thời gian thực 14 ngày 6 giờ
hiện
Điểm 5,00/5,00
Điểm 10,00 của 10,00 (100%)
Câu hỏi 1
Chính xác

Điểm 1,00 của 1,00

Viết hàm void process(string fileName) đọc một file đuôi txt, đếm số ký tự khoảng trắng, số ký tự (kể cả ký tự xuống hàng) và số ký tự là chữ
có trong file.

Các thư viện đã được include: iostream, fstream, string.

Đầu vào:
một chuỗi chứa tên file.

Đầu ra:

Xuất ra màn hình số ký tự khoảng trắng, số ký tự và số ký tự là chữ có trong file, cách nhau bởi ký tự khoảng trắng.

For example:

Test Input Result

1 1 2 3 dem so ky tu cac loai. 8 28 16

Answer: (penalty regime: 0 %)

Reset answer

1 ▼ void process(const char* fileName) {


2 FILE* file = fopen(fileName, "r");
3
4 ▼ if (file == NULL) {
5 fprintf(stderr, "Không thể mở file: %s\n", fileName);
6 return;
7 }
8
9 int spaceCount = 0;
10 int charCount = 0;
11 int letterCount = 0;
12 char c;
13
14 ▼ while ((c = fgetc(file)) != EOF) {
15 charCount++;
16
17 ▼ if (c == ' ') {
18 spaceCount++;
19 }
20
21 ▼ if (isalpha(c)) {
22 letterCount++;
23 }
24 }
25
26 fclose(file);
27
28 printf("%d %d %d\n", spaceCount, charCount, letterCount);
29 }

Test Input Expected Got

 1 1 2 3 dem so ky tu cac loai. 8 28 16 8 28 16 

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.
Câu hỏi 2
Chính xác

Điểm 1,00 của 1,00

Viết hàm void process(string fileName) đọc một file txt gồm nhiều số tự nhiên có 1 chữ số ngăn cách nhau bởi dấu phẩy(,). Output yêu cầu
của hàm trên là tổng các số trên.

Các thư viện đã được include: iostream, fstream, string.

Đầu vào:

Một chuỗi chứa tên file.

Đầu ra:
Xuất ra màn hình tổng các số.

For example:

Test Input Result

1 1,2,3 6

Answer: (penalty regime: 0 %)

Reset answer

1 ▼ void process(const char *fileName) {


2 FILE *file = fopen(fileName, "r");
3
4 ▼ if (file == NULL) {
5 fprintf(stderr, "Khong the mo file %s\n", fileName);
6 return;
7 }
8
9 int sum = 0;
10 char buffer[256];
11
12 ▼ while (fgets(buffer, sizeof(buffer), file) != NULL) {
13 char *token = strtok(buffer, ",");
14
15 ▼ while (token != NULL) {
16 sum += atoi(token);
17 token = strtok(NULL, ",");
18 }
19 }
20
21 fclose(file);
22
23 printf("%d\n", sum);
24 }

Test Input Expected Got

 1 1,2,3 6 6 

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.
Câu hỏi 3
Chính xác

Điểm 1,00 của 1,00

Viết chương trình là một hàm nhận đầu vào là một chuỗi chứa tên file, xuất ra nội dung của một file cho trước. Các thư viện đã được include:
iostream, fstream, string

Đầu vào:

một chuỗi chứa tên file.

Đầu ra:

Xuất ra màn hình nội dung

For example:

Test Input Result

1 1 2 3 dem so ky tu cac loai. 1 2 3 dem so ky tu cac loai.

Answer: (penalty regime: 0 %)

Reset answer

1 ▼ void process(const char* fileName) {


2 FILE* file = fopen(fileName, "r");
3
4 ▼ if (file == NULL) {
5 fprintf(stderr, "Không thể mở file: %s\n", fileName);
6 return;
7 }
8
9 char buffer[1024];
10 ▼ while (fgets(buffer, sizeof(buffer), file) != NULL) {
11 printf("%s", buffer);
12 }
13
14 fclose(file);
15 }
16

Test Input Expected Got

 1 1 2 3 dem so ky tu cac loai. 1 2 3 dem so ky tu cac loai. 1 2 3 dem so ky tu cac loai. 

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.
Câu hỏi 4
Chính xác

Điểm 1,00 của 1,00

Viết hàm với đầu vào là một xâu ký tự là tên file đầu vào, đầu ra của hàm là xuất nội dung của file nhưng không bao gồm ký tự “ “(khoảng
trắng).

Các thư viện đã được include: iostream, fstream, string.

Đầu vào:
Một chuỗi chứa tên file.

Đầu ra:

Xuất ra màn hình nội dung file nhưng không bao gồm ký tự “ “(khoảng trắng).

For example:

Test Input Result

1 1 2 3 dem so ky tu cac loai. 123demsokytucacloai.

Answer: (penalty regime: 0 %)

Reset answer

1 ▼ void process(const std::string& fileName) {


2 std::ifstream file(fileName.c_str());
3
4 ▼ if (!file.is_open()) {
5 fprintf(stderr, "Không thể mở file: %s\n", fileName.c_str());
6 return;
7 }
8
9 char c;
10 ▼ while (file.get(c)) {
11 ▼ if (c != ' ') {
12 printf("%c", c);
13 }
14 }
15
16 file.close();
17 }

Test Input Expected Got

 1 1 2 3 dem so ky tu cac loai. 123demsokytucacloai. 123demsokytucacloai. 

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.
Câu hỏi 5
Chính xác

Điểm 1,00 của 1,00

Viết chương trình là một hàm nhận đầu vào là một chuỗi chứa tên file, đầu ra xuất ra số dòng của file đã cho.

Đầu vào:
Một chuỗi chứa tên file.

Đầu ra:

Xuất ra màn hình số dòng của file đó

For example:

Test Input Result

1 1 2 3 dem so ky tu cac loai. 1

Answer: (penalty regime: 0 %)

Reset answer

1 ▼ void process(string fileName) {


2 std::ifstream ifs(fileName);
3
4 ▼ if (!ifs.is_open()) {
5 fprintf(stderr, "Không thể mở file: %s\n", fileName.c_str());
6 return;
7 }
8
9 char inp;
10 int count = 1;
11 ▼ while (ifs.get(inp)) {
12 ▼ if (inp == '\n') {
13 count++;
14 }
15 }
16
17 ifs.close();
18 printf("%d\n", count);
19 }
20

Test Input Expected Got

 1 1 2 3 dem so ky tu cac loai. 1 1 

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.

BÁCH KHOA E-LEARNING


WEBSITE

HCMUT
MyBK
BKSI

LIÊN HỆ

 268 Lý Thường Kiệt, P.14, Q.10, TP.HCM

 (028) 38 651 670 - (028) 38 647 256 (Ext: 5258, 5234)

 elearning@hcmut.edu.vn

Copyright 2007-2022 BKEL - Phát triển dựa trên Moodle

You might also like