Sensor Filter Selection

#include <iostream>
#include <string>
using namespace std;

// Write your enum and function here
typedef enum {
    NONE,
    LOW ,
    HIGH 
}FilterMode;
int readSensor(int raw, FilterMode filter=NONE){
    if(filter==NONE){
       // cout<<raw;
       return raw;
    }
    else if(filter==LOW){
       // cout<<raw<<" "<<static_cast<int>(1)<<" LOW";
        return raw/2;
    }
    else{
       // cout<<raw<<" "<<static_cast<int>(1)<<" HIGH";
        return raw/4;
    }
}
int main() {
    int raw, modeFlag;
    cin >> raw >> modeFlag;

    if (modeFlag == 0) {
        cout << readSensor(raw);
    } else {
        string filterName;
        cin >> filterName;

        FilterMode filter;

        if (filterName == "LOW") {
            filter = LOW;
        } else {
            filter = HIGH;
        }

        cout << readSensor(raw, filter);
    }

    return 0;
}

Solving Approach

 

 

 

 

Upvote
Downvote
Loading...

Input

100 0

Expected Output

100