#include<iostream>
#include<string>
#include<conio.h>
using namespace std;
string Ar2Ro(int n)
{
string a[13] = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
int b[13] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};
string s = "";
for (int i = 12; i >= 0; i--)
{
while (n >= b) {
s += a;
n -= b;
}
}
return s;
}
int main(int argc, char* argv[])
{ int n;
printf("Vvedite lyuboe chislo\n");
cin >> n;
cout << Ar2Ro(n);
printf("\n");
printf("Dlya vyhoda nazhmite lyubuyu klavishu...");
getch();
return 0;
}
нужен подробный алгоритм программы(С++)
Подробный алгоритм - это что? Блок-схема?
тут непонятны кое какие моменты
for (int i = 12; i >= 0; i--)
{
while (n >= b) {
s += a;
n -= b;
}
}
return s;
вот это вот цикл,
string s = "";
и вот это, что за "" присваиваются?
и что здесь означают переменные s и n
Цитата:
вот это вот цикл,
string s = "";
и вот это, что за "" присваиваются?
и что здесь означают переменные s и n
string s = "";
и вот это, что за "" присваиваются?
и что здесь означают переменные s и n
s - строка в которой будет результат, те число в римской записи
n - число в десятичной системе которое надо перевести в римскую
Код:
string Ar2Ro(int n)
{
string a[13] = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
int b[13] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};
string s = "";
for (int i = 12; i >= 0; i--)
{
while (n >= b) {
s += a;
n -= b;
}
}
return s;
}
{
string a[13] = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
int b[13] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};
string s = "";
for (int i = 12; i >= 0; i--)
{
while (n >= b) {
s += a;
n -= b;
}
}
return s;
}
я бы делал что-то наподобе такого (код не тестировался :D), для наглядности
Код:
int count = 12;
do
{
while(n >= b[count])
{
s += a[count];
n -= b[count];
}
count--;
}while(n > 0)
do
{
while(n >= b[count])
{
s += a[count];
n -= b[count];
}
count--;
}while(n > 0)