Viết lại các bài 3.12, 3.13, 3.14, 3.15 trong lab03 sử dụng hàm

Một phần của tài liệu Tài liệu thực hành môn kỹ thuật lập trình C++ (Trang 40 - 44)

3. Chương trình

3.16Viết lại các bài 3.12, 3.13, 3.14, 3.15 trong lab03 sử dụng hàm

LAB05: Mng - Array

Ni Dung Chính

Lab 05: Array ... 42

0. Mục tiêu ... 42

1. Yêu cầu trước khi vào buổi thực hành này ... 42

2. Kiểm tra kiến thức lý thuyết (3 phút/câu) ... 42

3. Chương trình ... 44

3.1 Sắp xếp mảng ... 44

3.2 Mảng số nguyên ... 44

3.3 Nhập dãy số tăng, chèn số mới ... 44

3.4 Viết chương trình nhập 1 mảng số nguyên sau ñó ... 44

3.5 Mảng và số nguyên tố ... 44

3.6 Nhập chuỗi ... 45

3.7 Thao tác chuỗi... 45

3.8 Tính tóan trên mảng ... 45

3.9 Cấu trúc ... 45

3.10 Cấu trúc ngày tháng ... 46

3.11 Chương trình thống kê chuỗi ... 47

0. Mc tiêu

• Sử dụng thành thạo mảng trong C++, bao gồm:

o Khai báo, truy cập mảng 1, 2 chiều

o Hàm và mảng

o Giải thuật cơ bản về mảng: sort, search,…

o Tách/gộp mảng

o Xóa, chèn phần tử vào mảng

o Cấu trúc và mảng

• Hòan tất Lab05 tại lớp trong vòng 90 phút

1. Yêu cu trước khi vào bui thc hành này

• Hòan tất Lab01, La02, Lab03, Lab04

• Nắm vững kiến thức về mảng, cấu trúc, mảng và hàm

• Hiểu rõ các ví dụ trong bài giảng Chương 5: Array (adsbygoogle = window.adsbygoogle || []).push({});

• Làm trước các bài trong mục 2 và 3 trước khi vào phòng Lab. Mỗi SV phải có 1 bản copy của bài Lab này.

Lưu ý: Các ñọan mã nguồn trong bài sau có thể có lỗi khi biên dịch. Hãy sửa lại và thêm các file header phù hợp nếu cần.

2. Kim tra kiến thc lý thuyết (3 phút/câu)

2.1 Trả lời các câu hỏi sau:

a) Có bao nhiêu phần tử trong khai báo sau? Phần từ thứ nhất và phần tử sau cùng?

int a[5];

b) Tìm chỗ sai trong ñọan code sau, sửa lại cho ñúng:

int a[5];

for(i = 1; i <= 5; i = i + 1) a[i] = 0;

c) Tìm chổ sai trong ñọan code sau, sửa lại cho ñúng

int a[10] = { 0 }, b[10]; b = a;

2.2 Cho biết kết quả màn hình khi chạy ñọan code sau: # define MAX 5 int main() { int a[MAX] = {0}, i, j = 2; for (i = 0; i < 3; i++) a[i] = j+i;

cout << a[0] << a[3];

return 0; }

2.3 Cho biết kết quả màn hình khi chạy ñọan code sau:

# define MAX 5

void bubbleSort(int a[ ], int n) { int i, j; for (i = 0; i < n - 1; i++) for (j = i + 1; j < n; j++) if (a[i] > a[j]) { int t = a[i] ; a[i] = a[j] ; a[j] = t; } } //end function int main() { int a[MAX] = {3, 7, 4, 6, 9}; bubbleSort(a, MAX);

cout << a[0] << a[3]; return 0

2.4 Cho biết kết quả màn hình khi chạy ñọan code sau:

# define MAX 5 int main() {

int a1[MAX] = {0}, a2[MAX]={1, 2, 3, 4, 5};

a1 = a2 ;

cout << a1[0] << a1[3]; return 0;

}

2.5 Cho biết kết quả màn hình khi chạy ñọan code sau: int main() { int a [ ]={1, 3, 4, 2, 5}, i, min; min = a[1]; for ( i = 1; i <5 ; i++)

if (a[i] < min) min =a[i] ; cout << min; return 0;

}

2.6 Cho biết kết quả màn hình khi chạy ñọan code sau:

void swap(int a, int b) { int t = a; a = b; b = temp; } int main() { int a = 3, b = 2; swap(a,b); cout << a << b; return 0; } 2.7 Kết quả biểu thức

Cho khai báo như sau: (adsbygoogle = window.adsbygoogle || []).push({});

int grades[3][5] = {80, 90, 96, 73, 65, 67, 90, 68, 92, 84, 70, 55, 95, 78, 100}; Xác ñịnh biểu thức không hợp lệ (nếu có) và tính giá trị của biểu thức nếu hợp lệ: a) grades[2][3] b) grades[2][4] c) grades[0][1] ñọan code sau: # define MAX 5

void swap (int &x, int &y) {

int t = x; x = y; y = temp; }

void bubbleSort(int a[ ], int n) { int i, j; for (i = 0; i < n - 1; i++) for (j = i + 1; j < n; j++) if (a[i] > a[j]) swap(a[i], a[j]) ; } int main() { int a[MAX] = {3, 7, 4, 6, 9}; bubbleSort(a, MAX);

cout << a[0] << a[3]; return 0;

3. Chương trình

Một phần của tài liệu Tài liệu thực hành môn kỹ thuật lập trình C++ (Trang 40 - 44)