CalibTable Constructor Copy

#include <iostream>
using namespace std;

class CalibTable {
private:
    int size;
    int table[10];

    int set_size(int n) {
        if (n < 1) n = 1;
        if (n > 10) n = 10;
        return n;
    }

public:
    CalibTable(int n, int arr[]) {
        size = set_size(n);

        // copy đúng size phần tử
        for (int i = 0; i < size; i++) {
            table[i] = arr[i];
        }

        // (không bắt buộc, nhưng an toàn) fill phần còn lại = 0
        for (int i = size; i < 10; i++) {
            table[i] = 0;
        }
    }

    int get(int index) {
        if (index < 0 || index >= size) return 0;
        return table[index];
    }

    void print() {
        for (int i = 0; i < size; i++) {
            if (i) cout << " ";
            cout << table[i];
        }
    }
};

int main() {
    int n;
    cin >> n;

    int arr[100];
    int countToRead = (n < 1 ? 1 : n);  // luôn đọc ít nhất 1 giá trị

    for (int i = 0; i < countToRead; i++) {
        cin >> arr[i];
    }

    CalibTable t(n, arr);
    t.print();

    return 0;
}

Solving Approach

 

 

 

 

 

Upvote
Downvote
Loading...

Input

5 10 20 30 40 50

Expected Output

10 20 30 40 50