Professional Documents
Culture Documents
Chương 5
Chương 5
2. Tham số mả ng củ a mộ t hà m 1 chiều
LÝ THUYẾ T
2. Tham số mả ng củ a mộ t hà m 1 chiều
LÝ THUYẾ T
- Vò ng cuố i: Tìm min trong mảng 2 phầ n tử , sắ p xếp min lên đầu mả ng
- So sá nh a[n-2] vớ i a[i], i = (n-1)
- Nếu a[n-2] > a[i] đả o a [n-2] và a [i]
GIẢ I THUẬ T THÊ M PHẦ N TỬ
• Kiểm tra mả ng có thể thêm đượ c phầ n tử nữ a khô ng? Nếu khô ng, thự c hiện nhiệm
vụ khá c.
• Kiểm tra [vị trí chèn] hợ p lệ khô ng. Nếu khô ng, gá n thứ tự = chỉ số đầ u/cuố i mả ng.
• Thự c hiện dịch chuyển mả ng (phầ n phía sau nơi chèn + vị trí chèn)
• Chèn và o vị trí cầ n chèn
• Tă ng số lượ ng phầ n tử
GIẢ I THUẬ T XÓ A PHẦ N TỬ TRONG MẢ NG
• Kiểm tra có thể xó a hay khô ng? Nếu khô ng, thự c hiện nhiệm vụ khá c/ thoá t hà m
• Kiểm tra vị trí xó a hợ p lệ khô ng. Nếu khô ng, cho về chỉ số đầ u/cuố i.
• Dịch chuyển mả ng lù i 1 chỉ số – phầ n phía sau nơi xó a
• Giả m số lượ ng phầ n tử
• Bài 1. Viết chương trình cho phép người dùng thực hiện một trong các lựa
chọn sau. Yêu cầu: viết hàm con cho mỗi lựa chọn từ 1-5, và viết hàm main()
gọi các hàm con đó.
• 1. Tính tổng các ước của số nguyên n.
- Input: n (int)
- Output: tong (int)
- Giả i thuậ t:
+ Tìm ướ c số : vò ng lặ p từ 1 – (n-1), phép tính %
+ Cộ ng dồ n
2. Tìm số ngày của một tháng khi biết tháng và năm.
- Input: thá ng (int), nă m (int)
- Output: ngay (int)
- Giả i thuậ t:
+ Cơ sở dữ liệu ngày theo thá ng:
Thá ng 1 – 31 ngày
Thá ng 2 – 28/29 ngày => xét nă m nhuậ n (nam%4==0)&&(nam%100!=0)||nam%400==0)
Thá ng 3 – 30 ngày
Thá ng 4 – 31 ngày….
So sá nh thá ng vớ i 1/2/3/4….
3. Đổi chỗ 2 số nguyên x, y.
- Input: x, y (int)
- Output: x, y
- Giả i thuậ t:
temp = x;
x = y;
y = temp;
4. Tìm BCNN của hai số nguyên dương a và b
5. Kiểm tra số nguyên dương n có các chữ số toàn là chữ số lẻ hay không?
- Input: n (int)
- Output: kết quả n có cá c chữ số toà n số lẻ hay khô ng 0 là khô ng có , 1 là có .
- Giả i thuậ t:
+ Tìm tổ ng số chữ số củ a n: int tongSo = scanf(“%d”, &n);
+ Tá ch từ ng số :
n / 10 số dư là chữ số hà ng đơn vị (%)
+ Nếu chẵ n return 0.
+ Nếu lẻ tiếp tụ c chia 10 cho đến khi kết quả =0 vò ng lặ p
BÀ I TẬ P TẠ I LỚ P
• Cho một mảng 1 chiều chứa các số nguyên. Hãy viết một chương trình cho phép
người dùng chọn một trong các yêu cầu sau:
1. Tạ o mộ t mả ng 1 chiều chứ a n số nguyên.
• 2. Tính giá trị trung bình cá c phầ n tử trong mả ng.
• 3. Đếm số lầ n phầ n tử x xuấ t hiện trong mả ng, vớ i x nhậ p từ bà n phím
BÀ I TẬ P VỀ NHÀ
Cho một mảng 1 chiều chứa các số nguyên. Hãy viết một chương trình cho phép
người dùng chọn một trong các yêu cầu sau:
1. Tạ o 1 mả ng chứ a số nguyên.
2. Tìm vị trí củ a số lớ n nhấ t trong mả ng.
3. Thêm mộ t phầ n tử có giá trị x và o mả ng tạ i vị trí pos cho trướ c.
4. Xó a phầ n tử tạ i vị trí pos cho trướ c.
5. Đưa cá c phầ n tử có giá trị 0 về đầ u mả ng.
6. Xó a tấ t cả phầ n tử có giá trị 0.
BÀ I TẬ P VỀ NHÀ
Cho một mảng 2 chiều chứa các số nguyên. Hãy viết một chương trình thực hiện
các yêu cầu sau:
1. Tạ o 1 ma trậ n số nguyên có kích thướ c m x n, vớ i m là số hà ng và n là số cộ t.
2. Tìm giá trị lớ n nhấ t và vị trí củ a nó ở dò ng k.
3. Tìm vị trí củ a x trong ma trậ n, vớ i x nhậ p từ bà n phím.
4. Xuấ t cá c phầ n tử trên đườ ng chéo chính và đườ ng chéo phụ .
BÀ I TẬ P