UART Write Overloading

#include <iostream>
#include <string>
#include <cstdint>
#include <cstddef>

using namespace std;

// Write your overloaded functions here
void write(uint8_t val)
{
    printf("%d",val);
}

void write(string val)
{
    cout<<val;
}

void write(uint8_t arr[],size_t s)
{
    for(int i=0;i<s;i++)
        printf("%d ",arr[i]);
}

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

    if (mode == 1) {
        unsigned int byteValue;
        cin >> byteValue;
        write(static_cast<uint8_t>(byteValue));
    }
    else if (mode == 2) {
        string s;
        cin >> s;
        write(s);
    }
    else if (mode == 3) {
        int n;
        cin >> n;

        uint8_t buffer[100];
        for (int i = 0; i < n; i++) {
            unsigned int temp;
            cin >> temp;
            buffer[i] = static_cast<uint8_t>(temp);
        }
        write(buffer, static_cast<size_t>(n));
    }

    return 0;
}

Solving Approach

 

 

 

 

Upvote
Downvote
Loading...

Input

1 0

Expected Output

0