#include <iostream> using namespace std; #define MAX 100 // MẢNG 1 CHIỀU // 1. HÀM NHẬP SỐ PHẦN TỬ void NhapN(int &N) { do { cout << "Moi ban nhap so phan tu cua mang N = "; cin >> N; // 0 < N <= MAX // Điều kiện phải ngược lại if (N <= 0 || N > MAX) cout << "Nhap sai vui long nhap la 0 < N <= " << MAX << "\n"; } while (N <= 0 || N > MAX); } // 2. HÀM NHẬP MẢNG void NhapMang(int A[], int N) { for (int i = 0; i < N; i++) { cout << "A[" << i << "]= "; cin >> A[i]; } } // 3. HÀM XUẤT MẢNG void XuatMang(int A[], int N) { for (int i = 0; i < N; i++) { cout << A[i] << "\t"; } } // DẠNG ĐẾM // 1. Khai báo biến đếm // 2. Duyệt // 2.1 Nếu // tăng đếm // 3. Trả về kết quả đếm //225 Đếm số lượng giá trị lớn nhất có trong mảng //VD : 1 3 5 99 7 99 5 3 99 1 int Tim_Max(int A[], int N) { int max = A[0]; for (int i = 0; i < N; i++) { if (A[i] > max) max = A[i]; } return max; } int Dem_Max(int A[], int N) { int dem = 0; int max = Tim_Max(A, N); for (int i = 0; i < N; i++) { if (A[i] == max) dem++; } return dem; } // //226 Hãy xác định số lượng ptử kề nhau mà cả 2 đều chẵn // VD:1 2 4 5 6 1 4 6 8 10 // => 4 int Dem_Ke_Chan(int A[], int N) { int dem = 0; for (int i = 0; i < N - 1; i++) { if (A[i] % 2 == 0 && A[i + 1] % 2 == 0) dem++; } return dem; } //227 Hãy xác định số lượng ptử kề nhau mà cả 2 trái dấu int Dem_Ke_Trai_Dau(int A[], int N) { int dem = 0; for (int i = 0; i < N - 1; i++) { if (A[i] * A[i + 1] < 0) dem++; } return dem; } //228 Hãy xác định số lượng ptử kề nhau mà số đứng sau cùng dấu số đứng trc và có gtrá trị tuyệt đối lớn hơn // VD : -1 7 -2 int Dem_Ke_Cung_Dau(int A[], int N) { int dem = 0; for (int i = 0; i < N - 1; i++) { if (A[i] * A[i + 1] > 0 && abs(A[i]) > A[i + 1]) dem++; } return dem; } //229 Đếm số lượng các giá trị phân biệt có trong mảng void HoanVi(int &a, int &b) { int t = a; a = b; b = t; } void SapXep(int A[], int N) { for (int i = 0; i < N - 1; i++) { for (int j = i + 1; j < N; j++) { if (A[i] > A[j]) HoanVi(A[i], A[j]); } } } int Dem_Phan_Biet(int A[], int N) { SapXep(A, N); int dem = 1; for (int i = 1; i < N; i++) { if (A[i] != A[i - 1]) dem++; } return dem; } int main() { int N = 0; NhapN(N); int A[MAX]; NhapMang(A, N); cout << "MANG BAN DAU\n"; XuatMang(A, N); cout << "\n"; int kq_225 = Dem_Max(A, N); cout << "Bai tap 225 : so luong gia tri max = " << kq_225; cout << "\n"; int kq_226 = Dem_Ke_Chan(A, N); cout << "Bai tap 226 : so luong gia tri chan ke nhau = " << kq_226; cout << "\n"; int kq_227 = Dem_Ke_Trai_Dau(A, N); cout << "Bai tap 227 : so luong gia tri ke nhau trai dau = " << kq_227; cout << "\n"; int kq_228 = Dem_Ke_Cung_Dau(A, N); cout << "Bai tap 228 : so luong gia tri ke nhau cung dau va lon hon = " << kq_228; cout << "\n"; int kq_229 = Dem_Phan_Biet(A, N); cout << "Bai tap 229 : so luong gia tri phan biet ke ca giong nhau = " << kq_229; cout << "\n"; return 0; }
Lập trình máy tính (gọi tắt là lập trình; tiếng Anh: programming) là kỹ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một hoặc nhiều ngôn ngữ lập trình để tạo ra một chương trình máy tính. Lập trình có các thành tố nghệ thuật, khoa học, toán học, và kỹ nghệ. Lập trình nhiều thì bạn sẽ thấy niềm vui và sự hứng thú torng đó. CNTT lập trình tuyệt vời.
Thứ Ba, 6 tháng 12, 2016
Bài tập 225-226-227-228-229: Đếm số lượng giá trị lớn nhất có trong mảng
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét