LATEST

In ra số chẵn lẻ trong mảng C / C++

Trong bài viết này, codehow sẽ hướng dẫn các bạn thực hiện chương trình in ra số chẵn lẻ trong mảng C / C++. Đây là một chương trình áp dụng cách sử dụng hàm trong C / C++, vì vậy các bạn cần có kiến thức về hàm trước khi đi vào bài viết nhé.

Số chẵn là các số chia hết cho hai và các số lẻ thì không chia hết cho hai.

Ví dụ: Mình có một mảng Number = {1, 2, 3, 4, 5, 6, 7, 8}, các số chẵn trong mảng là {2, 4, 6, 8} và các số lẻ trong mảng là {1, 3, 5, 7}.

Vậy làm thế nào để viết chương trình in ra số chẵn và số lẻ trong mảng C / C++, hãy bắt đầu cùng mình ngay bây giờ thôi nhé.

In ra số chẵn lẻ trong mảng C / C++

Việc đầu tiên để in ra số chẵn lẻ trong mảng C / C++ đó là tạo hàm kiểm tra số chẵn lẻ với tham số được truyền vào. Hàm trả về true nếu số đó là số chẵn và trả về false nếu số đó là số lẻ.

Đơn giản ta chỉ cần lấy số đó và chia lấy dư cho 2. Nếu bằng 0 thì là số chẵn, ngược lại thì là số lẻ.

//tạo hàm kiểm tra số chãn lẻ với 1 tham số được truyền vào
bool KTraChanLe(int n){
  //nếu n chia hết cho 2 thì đây là số chẵn
    if(n % 2 == 0){
        return true;
    }
      //ngược lại thì đây là số lẻ
    else return false;
}

*Lưu ý: đối với chương trình C để sử dụng kiểu dữ liệu bool ta cần khai báo thư viện <stdbool.h> nhé.

Tiếp đến ta tạo thêm hàm in số chẵn và in số lẻ. Trong hàm ta sử dụng hai vòng lặp for tách biệt.

Vòng lặp for thứ nhất dùng để duyệt từng phần tử và in ra các số chẵn.

printf("\nCác số chẵn trong mảng là: ");
    for(int i = 0; i < n; i++)
    {
        if((KTraChanLe(a[i]) == true))
        {
            printf("%d ", a[i]);
        }
    }

Vòng lặp for thứ hai dùng để duyệt và in ra các số lẻ.

printf("\nCác số lẻ trong mảng là: ");
    for(int i = 0; i < n; i++)
    {
        if((KTraChanLe(a[i]) == false))
        {
            printf("%d ", a[i]);
        }
    }

Trong hàm main(), ta yêu cầu người dùng nhập vào số lượng và giá trị cho các phần tử trong mảng. Sau đó gọi hàm in số chẵn và số lẻ để in ra màn hình.

//khai báo biến i sử dụng cho vòng lặp for
    //biến count là số lượng phần tử trong mảng
    int i, count;
    //yêu cầu người dùng nhập vào số lượng cho phần tử
    printf("Nhập số lương phần tử trong mảng:");
    scanf("%d", &count);
    //gán số lượng người dùng vào kích thước của mảng
    int number[count];
    //yêu cầu người dùng nhập vào giá trị cho từng phần t ử của mảng
    printf("\nNhập giá trị cho từng phần tử trong mảng:\n");
    for (i = 0; i < count; ++i)
      scanf("%d", &number[i]);
    //Gọi hàm inSoChanLe() để in các số chẵn lẻ trong mảng ra màn hình
    inSoChanLe(number, count);

Dưới đây là hai chương trình mình đã viết sẵn bằng hai ngôn ngữ khác nhau C và C++, các bạn có thể tham khảo nhé.

Chương trình C:

#include<stdio.h>
#include<math.h>
#include<stdbool.h>

//tạo hàm kiểm tra số chãn lẻ với 1 tham số được truyền vào
bool KTraChanLe(int n){
  //nếu n chia hết cho 2 thì đây là số chẵn
    if(n % 2 == 0){
        return true;
    }
      //ngược lại thì đây là số lẻ
    else return false;
}

void inSoChanLe(int a[], int n)
{
    // ta sử dụng vòng lặp for để duyệt từng phần tử trong mảng
  // cứ mỗi vòng lặp ta gọi hàm KTraChanLe() để kiểm tra phần tử đó
    printf("\nCác số chẵn trong mảng là: ");
    for(int i = 0; i < n; i++)
    {
        if((KTraChanLe(a[i]) == true))
        {
            printf("%d ", a[i]);
        }
    }
    printf("\nCác số lẻ trong mảng là: ");
    for(int i = 0; i < n; i++)
    {
        if((KTraChanLe(a[i]) == false))
        {
            printf("%d ", a[i]);
        }
    }
}
int main()
{
    //khai báo biến i sử dụng cho vòng lặp for
    //biến count là số lượng phần tử trong mảng
    int i, count;
    //yêu cầu người dùng nhập vào số lượng cho phần tử
    printf("Nhập số lương phần tử trong mảng:");
    scanf("%d", &count);
    //gán số lượng người dùng vào kích thước của mảng
    int number[count];
    //yêu cầu người dùng nhập vào giá trị cho từng phần t ử của mảng
    printf("\nNhập giá trị cho từng phần tử trong mảng:\n");
    for (i = 0; i < count; ++i)
      scanf("%d", &number[i]);
    //Gọi hàm inSoChanLe() để in các số chẵn lẻ trong mảng ra màn hình
    inSoChanLe(number, count);
    
    printf("\n-----------------------------------\n");
    printf("Chương trình này được đăng tại codehow.net");
}

Kết quả:

bai27 02 PNG

Chương trình C++:

#include <iostream>
#include <math.h>
using namespace std;

//tạo hàm kiểm tra số chãn lẻ với 1 tham số được truyền vào
bool KTraChanLe(int n){
  //nếu n chia hết cho 2 thì đây là số chẵn
    if(n % 2 == 0){
        return true;
    }
      //ngược lại thì đây là số lẻ
    else return false;
}

void inSoChanLe(int a[], int n)
{
    // ta sử dụng vòng lặp for để duyệt từng phần tử trong mảng
  // cứ mỗi vòng lặp ta gọi hàm KTraChanLe() để kiểm tra phần tử đó
    cout<<"\nCác số chẵn trong mảng là: ";
    for(int i = 0; i < n; i++)
    {
        if((KTraChanLe(a[i]) == true))
        {
            cout<<a[i]<<" ";
        }
    }
    cout<<"\nCác số lẻ trong mảng là: ";
    for(int i = 0; i < n; i++)
    {
        if((KTraChanLe(a[i]) == false))
        {
            cout<<a[i]<<" ";
        }
    }
}

int main() {
  //khai báo biến i sử dụng cho vòng lặp for
  //biến count là số lượng phần tử trong mảng
  int i, count;
  //yêu cầu người dùng nhập vào số lượng cho phần tử
  cout << "Nhập số lương phần tử trong mảng:";
  cin >> count;
  //gán số lượng người dùng vào kích thước của mảng
  int number[count];
  //yêu cầu người dùng nhập vào giá trị cho từng phần t ử của mảng
  cout << "\nNhập giá trị cho từng phần tử trong mảng:\n";
  for (i = 0; i < count; ++i)
    cin >> number[i];
  //Gọi hàm inSoChanLe() để in các số chẵn lẻ trong mảng ra màn hình
    inSoChanLe(number, count);

  cout << "\n-----------------------------------\n";
  cout << "Chương trình này được đăng tại codehow.net";
}

Kết quả

bai27 01 PNG

Như vậy là chúng ta đã cùng nhau thực hiện xong chương trình in ra số chẵn lẻ trong mảng C / C++. Các bạn có thể ghé thăm serries bài tập C / C++ để rèn luyện với nhiều dạng bài tập hơn cùng codehow nhé. Cảm ơn các bạn rất nhiều !!!

Cùng chuyên mục:

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán tính lũy thừa trong C / C++

Thuật toán tính lũy thừa trong C / C++

Top