Xin chào các bạn, bài viết này mình sẽ giới thiệu đến các bạn một số bài tập liên quan đến mảng 1 chiều trong C++.

Nội dung

Dạng nhập xuất mảng

Đề bài: Hãy nhập một số vào một mảng số nguyên gồm n phần tử và hiển thị chúng.

Code:

#include <iostream>

using namespace std;

int main() {
    int size;
    cout << "Enter size: ";
    cin >> size;

    int *arr = new int[size];

    for (int i = 0; i < size; ++i) {
        cout << "Enter arr[" << i << "]: ";
        cin >> arr[i];
    }

    for (int i = 0; i < size; ++i) {
        cout << "arr[" << i << "]: " << arr[i] << endl;
    }

    return 0;
}

Kết quả:

Enter size: 5
Enter arr[0]: 1
Enter arr[1]: 2
Enter arr[2]: 3
Enter arr[3]: 4
Enter arr[4]: 5
arr[0]: 1
arr[1]: 2
arr[2]: 3
arr[3]: 4
arr[4]: 5

Dạng tính tổng các số trong mảng

Đề bài: Hãy nhập một số vào một mảng số nguyên gồm n phần tử và tính tổng tất cả các phần tử trong mảng.

Code:

#include <iostream>

using namespace std;

int main() {
    int size;
    cout << "Enter size: ";
    cin >> size;

    int *arr = new int[size];

    for (int i = 0; i < size; ++i) {
        cout << "Enter arr[" << i << "]: ";
        cin >> arr[i];
    }

    int sum = 0;

    for (int i = 0; i < size; ++i) {
        sum += arr[i];
    }

    cout << "Sum: " << sum << endl;

    return 0;
}

Kết quả:

Enter size: 5
Enter arr[0]: 1
Enter arr[1]: 2
Enter arr[2]: 3
Enter arr[3]: 4
Enter arr[4]: 5
Sum: 15

Dạng tìm giá trị lớn nhất và nhỏ nhất

Đề bài: Hãy nhập một số vào một mảng số nguyên gồm n phần tử và tìm các giá trị lớn nhất/nhỏ nhất.

Code:

#include <iostream>

using namespace std;

int main() {
    int size;
    cout << "Enter size: ";
    cin >> size;

    int *arr = new int[size];

    for (int i = 0; i < size; ++i) {
        cout << "Enter arr[" << i << "]: ";
        cin >> arr[i];
    }

    int min = arr[0];
    int max = arr[0];

    for (int i = 0; i < size; ++i) {
        if (arr[i] < min) {
            min = arr[i];
        }

        if (arr[i] > max) {
            max = arr[i];
        }
    }

    cout << "Min: " << min << endl;
    cout << "Max: " << max << endl;

    return 0;
}

Kết quả:

Enter size: 5
Enter arr[0]: 1
Enter arr[1]: 2
Enter arr[2]: 3
Enter arr[3]: 4
Enter arr[4]: 5
Min: 1
Max: 5

Dạng chèn một phần tử vào mảng

Đề bài: Hãy nhập một số vào một mảng số nguyên gồm n phần tử và chèn một phần tử vào vị trí x (0 <= x <= n).

Code:

#include <iostream>

using namespace std;

int main() {
    int size;
    cout << "Enter size: ";
    cin >> size;

    int *arr = new int[size];

    for (int i = 0; i < size; ++i) {
        cout << "Enter arr[" << i << "]: ";
        cin >> arr[i];
    }

    int value;
    cout << "Enter value to insert: ";
    cin >> value;

    int position;
    cout << "Enter position (0-" << size << "): ";
    cin >> position;

    if (position < 0 || position > size) {
        cout << "Position invalid" << endl;
        return 1;
    }

    int *tmp = new int[size];

    for (int i = 0; i < size; ++i) {
        tmp[i] = arr[i];
    }

    arr = new int[size + 1];

    for (int i = 0; i < position; ++i) {
        arr[i] = tmp[i];
    }

    for (int i = position; i < size; ++i) {
        arr[i + 1] = tmp[i];
    }

    arr[position] = value;
    size += 1;

    for (int i = 0; i < size; ++i) {
        cout << "arr[" << i << "]: " << arr[i] << endl;
    }

    return 0;
}

Kết quả:

Enter size: 2
Enter arr[0]: 1
Enter arr[1]: 2
Enter value to insert: 3
Enter position (0-2): 2
arr[0]: 1
arr[1]: 2
arr[2]: 3

Dạng xóa một phần tử khỏi mảng

Đề bài: Hãy nhập một số vào một mảng số nguyên gồm n phần tử và hãy xóa một phần tử tại vị trí x (0 <= x < n).

Code:

#include <iostream>

using namespace std;

int main() {
    int size;
    cout << "Enter size: ";
    cin >> size;

    int *arr = new int[size];

    for (int i = 0; i < size; ++i) {
        cout << "Enter arr[" << i << "]: ";
        cin >> arr[i];
    }

    int position;
    cout << "Enter position (0-" << size - 1 << "): ";
    cin >> position;

    if (position < 0 || position >= size) {
        cout << "Position invalid" << endl;
        return 1;
    }

    int *tmp = new int[size];

    for (int i = 0; i < size; ++i) {
        tmp[i] = arr[i];
    }

    arr = new int[size - 1];

    for (int i = 0; i < position; ++i) {
        arr[i] = tmp[i];
    }

    for (int i = position + 1; i < size; ++i) {
        arr[i - 1] = tmp[i];
    }

    size -= 1;

    for (int i = 0; i < size; ++i) {
        cout << "arr[" << i << "]: " << arr[i] << endl;
    }

    return 0;
}

Kết quả:

Enter size: 3
Enter arr[0]: 1
Enter arr[1]: 2
Enter arr[2]: 3
Enter position (0-2): 2
arr[0]: 1
arr[1]: 2

Cám ơn các bạn đã theo dõi, chúc các bạn một ngày tốt lành!