Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

please use simple c++ since i am taking the first course of c++ Problem 2: (Roma

ID: 3591567 • Letter: P

Question

please use simple c++ since i am taking the first course of c++

Problem 2: (Roman numerals) Write a program that converts an integer between 1 and 3999 into Roman numerals. The input and output should be exactly: Input a number in Arabic numerals: USER ENTERS AN INTEGER BETWEEN 1 AND 39991 xXxxxx is your Use the "standard form" described in: https://en.wikipedia.org/wiki/Roman_numerals Assume the input is indeed between 1 and 3999. You may not use any libraries aside from iostreanm and string. Name your file roman. cpp. Hint. Treat each decimal digit separately (i.e., do the thousands, hundreds, tens, and ones sepa- rately) and concatenate the results.

Explanation / Answer

code id below

five thumbs up if you like it

#include <bits/stdc++.h>

#include <iostream>

using namespace std;

int sub_digit(char num1, char num2, int i, char *c)

{

c[i++] = num1;

c[i++] = num2;

return i;

}

int digit(char ch, int n, int i, char *c)

{

for (int j = 0; j < n; j++)

c[i++] = ch;

return i;

}

void printRoman(int number)

{

char c[10001];

int i = 0;

if (number <= 0)

{

printf("Invalid number");

return;

}

while (number != 0)

{

if (number >= 1000)

{

i = digit('M', number/1000, i, c);

number = number%1000;

}

else if (number >= 500)

{

if (number < 900)

{

i = digit('D', number/500, i, c);

number = number%500;

}

else

{

i = sub_digit('C', 'M', i, c);

number = number%100 ;

}

}

else if (number >= 100)

{

if (number < 400)

{

i = digit('C', number/100, i, c);

number = number%100;

}

else

{

i = sub_digit('C','D',i,c);

number = number%100;

}

}

else if (number >= 50 )

{

if (number < 90)

{

i = digit('L', number/50,i,c);

number = number%50;

}

else

{

i = sub_digit('X','C',i,c);

number = number%10;

}

}

else if (number >= 10)

{

if (number < 40)

{

i = digit('X', number/10,i,c);

number = number%10;

}

else

{

i = sub_digit('X','L',i,c);

number = number%10;

}

}

else if (number >= 5)

{

if (number < 9)

{

i = digit('V', number/5,i,c);

number = number%5;

}

else

{

i = sub_digit('I','X',i,c);

number = 0;

}

}

else if (number >= 1)

{

if (number < 4)

{

i = digit('I', number,i,c);

number = 0;

}

else

{

i = sub_digit('I', 'V', i, c);

number = 0;

}

}

}

printf("Roman numeral is: ");

for (int j = 0; j < i; j++)

printf("%c", c[j]);

}

int main()

{

int n;

cout<<"Enter number: ";

cin>>n;

printRoman(n);

return 0;

}