Chủ Nhật, 4 tháng 12, 2016

Bài tập 196 - 197 - 198 - 199 : Liệt kê các số âm

196 Liệt kê các số âm
197 Liệt kê các chữ số đầu là lẻ
198 Liệt kê các vị trí mà tại đó là giá trị max
199 Liệt kê vị trí mà giá trị đó là số nguyên tố

#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";
 }
}


//196 Liệt kê các số âm
void LietKe_SoAm(int A[], int N)
{
 for (int i = 0; i < N; i++)
 {
  if (A[i] < 0)
   cout << A[i] << "\t";
 }
}
//197 Liệt kê các chữ số đầu là lẻ
bool KiemTra_LeDau(int N)
{
 while (N > 9)
 {
  N = N / 10;
 }
 if (N % 2 == 0)// chẳn đầu
  return false;
 return true; // lẻ đầu
}

void LietKe_LeDau(int A[], int N)
{
 for (int i = 0; i < N; i++)
 {
  bool kq = KiemTra_LeDau(A[i]);
  if (kq == true)
   cout << A[i] << "\t";
 }
}

//198 Liệt kê các vị trí mà tại đó là giá trị max
int TimGiaTriMax(int A[], int N)
{
 int max = A[0];
 for (int i = 0; i < N; i++)
 {
  if (A[i] > max)
   max = A[i];
 }
 return max;
}

void LietKe_VT_Max(int A[], int N)
{
 int max = TimGiaTriMax(A, N);
 for (int i = 0; i < N; i++)
 {
  if (A[i] == max)
   cout << i << "\t";
 }
}
//199 Liệt kê vị trí mà giá trị đó là số nguyên tố
bool KiemTra_SNT(int N)
{
 int dem = 0;
 for (int i = 1; i <= N; i++)
 {
  if (N % i == 0)
   dem++;
 }
 if (dem == 2)
  return true;
 return false;
}

void LietKe_VT_SNT(int A[], int N)
{
 for (int i = 0; i < N; i++)
 {
  bool kq = KiemTra_SNT(A[i]);
  if (kq)
   cout << i << "\t";
 }
}




int main()
{

 int N = 0;
 NhapN(N);

 int A[MAX];
 NhapMang(A, N);
 cout << "MANG BAN DAU\n";
 XuatMang(A, N);
 cout << "\n";

 cout << "BAI 196 liet ke so am: \n";
 LietKe_SoAm(A, N);

 cout << "\n";
 cout << "BAI 197 liet ke le dau: \n";
 LietKe_LeDau(A, N);
 cout << "\n";

 cout << "BAI 198 liet ke vi tri max: \n";
 LietKe_VT_Max(A, N);
 
 cout << "\n";
 cout << "BAI 199 liet ke vi tri cua gia tri SNT: \n";
 LietKe_VT_SNT(A, N);
 
 return 0;
}

Link code backup : http://codepad.org/Cg9Av726

Không có nhận xét nào:

Đăng nhận xét