SIMPLE
STRING
ARRAY
SORTING
POINTER
CALCULATION
NUMBER
OTHER
C
BÀI TẬP C
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Chia một mảng thành các phần con có độ dài bằng nhau trong C

Trong lập trình, có nhiều tình huống mà chúng ta cần chia một mảng thành các phần con có độ dài bằng nhau. Điều này đặc biệt hữu ích khi mình muốn xử lý các phần của mảng một cách song song hoặc khi cần phân tích dữ liệu theo các phần nhỏ. Trong bài viết này, mình sẽ tìm hiểu cách thực hiện điều này trong ngôn ngữ lập trình C.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Bài tập chia một mảng thành các phần con có độ dài bằng nhau trong C

Cách giải quyết:

Để chia một mảng thành các phần con có độ dài bằng nhau, mình sẽ duyệt qua từng phần tử của mảng và chia chúng thành các phần nhỏ có độ dài mong muốn. Dưới đây là một phần mã minh họa:

Dưới đây là một ví dụ về cách cài đặt chia một mảng thành các phần con có độ dài bằng nhau trong ngôn ngữ lập trình C:

Bài viết này được đăng tại [free tuts .net]

#include <stdio.h>

void splitArray(int arr[], int n, int k) {
    if (n % k != 0) {
        printf("Không thể chia mảng thành các phần con có độ dài bằng nhau.\n");
        return;
    }

    int segment_size = n / k;
    printf("Các phần con sau khi chia mảng là:\n");
    for (int i = 0; i < n; i++) {
        if (i % segment_size == 0)
            printf("\nPhần con %d: ", i / segment_size + 1);
        printf("%d ", arr[i]);
    }
    printf("\n");
}

int main() {
    int n, k;
    printf("Nhập số phần tử của mảng từ màn hình freetuts.net: ");
    scanf("%d", &n);

    int arr[n];
    printf("Nhập các phần tử của mảng từ màn hình freetut.net:\n");
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    printf("Nhập số lượng phần con mong muốn: ");
    scanf("%d", &k);

    splitArray(arr, n, k);

    return 0;
}

Giải thích code:

  • Trong hàm splitArray(), mình kiểm tra xem có thể chia mảng thành các phần con có độ dài bằng nhau không. Nếu không thể chia, mình in ra thông báo và kết thúc.
  • Nếu có thể chia, mình tính độ dài của mỗi phần con và duyệt qua từng phần tử của mảng, in ra từng phần con theo độ dài mong muốn.
  • Trong hàm main(), mình nhập số phần tử của mảng, các phần tử của mảng và số lượng phần con mong muốn từ người dùng.
  • Sau đó, mình gọi hàm splitArray() để chia mảng thành các phần con có độ dài bằng nhau.

Kết quả

Giả sử bạn nhập số phần tử của mảng là 8 và các phần tử của mảng là 1 2 3 4 5 6 7 8, và số lượng phần con mong muốn là 2. Chương trình sẽ xuất ra:

Screenshot 202024 03 19 20161402 png

Trong bài viết này, mình đã tìm hiểu cách chia một mảng thành các phần con có độ dài bằng nhau trong ngôn ngữ lập trình C. Điều này là một trong những kỹ thuật quan trọng khi làm việc với mảng và phân tích dữ liệu trong lập trình.

Cùng chuyên mục:

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

Top