//200 Tổng các ptử trong mảng
//201 Tổng các ptử dương trong mảng
//202 Tổng các ptử có chữ số đầu là chữ số lẻ
//203 Tổng các ptử có chữ số hàng chục là 5
// 12345
// 1234
// 4 ==> 4???
#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";
}
}
// Hàm Tính Tổng
// 1 Khai báo biến Tổng S = 0
// 2. Duyệt
// 2.1 Nếu
// Tính tổng
// 3/ Trả về tổng
//200 Tổng các ptử trong mảng
int Tong_Mang(int A[], int N)
{
int S = 0;
for (int i = 0; i < N; i++)
{
S += A[i];
}
return S;
}
//201 Tổng các ptử dương trong mảng
int Tong_Mang_Duong(int A[], int N)
{
int S = 0;
for (int i = 0; i < N; i++)
{
if (A[i] > 0)
S += A[i];
}
return S;
}
//202 Tổng các ptử có chữ số đầu là chữ số lẻ
bool KT_Le_Dau(int N)
{
while (N > 9)
{
N = N / 10;
}
if (N % 2 == 0)
return false; // chẳn
return true; // lẻ
}
int Tong_Mang_Chu_So_Le_Dau(int A[], int N)
{
int S = 0;
for (int i = 0; i < N; i++)
{
bool kq = KT_Le_Dau(A[i]);
if (kq)
S += A[i];
}
return S;
}
//203 Tổng các ptử có chữ số hàng chục là 5
// 12345
// 1234
// 4 ==> 4???
bool KT_Hang_Chuc_La_5(int N)
{
if (N < 10)
return false; // sai
N = abs(N); // Lấy giá trị tuyệt đối
N = N / 10; // Giảm đi hàng đơn vị
N = N % 10; // Lấy hàng chục
if (N % 5 == 0) // Kiểm tra
return true; // phải
return false; // Không phải
}
int Tong_Mang_Chu_So_DonVi_5_Dau(int A[], int N)
{
int S = 0;
for (int i = 0; i < N; i++)
{
bool kq = KT_Hang_Chuc_La_5(A[i]);
if (kq)
S += A[i];
}
return S;
}
int main()
{
int N = 0;
NhapN(N);
int A[MAX];
NhapMang(A, N);
cout << "MANG BAN DAU\n";
XuatMang(A, N);
cout << "\n";
int Tong = Tong_Mang(A, N);
cout << "Bai tap 200 tong mang = " << Tong;
cout << "\n";
int Tong_Duong = Tong_Mang_Duong(A, N);
cout << "Bai tap 201 tong mang duong = " << Tong_Duong;
cout << "\n";
int Tong_LeDau = Tong_Mang_Chu_So_Le_Dau(A, N);
cout << "Bai tap 202 tong mang le dau = " << Tong_LeDau;
cout << "\n";
int Tong_DV5 = Tong_Mang_Chu_So_DonVi_5_Dau(A, N);
cout << "Bai tap 203 tong mang don vi la 5 = " << Tong_DV5;
cout << "\n";
return 0;
}
Link code backup : http://codepad.org/XzRRi8tF
Không có nhận xét nào:
Đăng nhận xét