T-shirt apdruka,un mazo uzlīmju taisīšana. 4
Profesionālie tulkošanas pakalpojumi. 5
Pardod: MSI GeForce RTX 2080ti gaming X TRIO Graphic Card 1
Vēlos piedāvāt darbu online. 0
OCTA termiņš 13
Ka sauc Pasaules dalu kura dzivojam 4
google 1
Taustiņu funkcijas izmainīšana 2
Torrent 1
ESET izlaiž 2017.gada produktu izdevumus 23
VIAPLAY: Video tiešsaistē skatās 70% Latvijas iedzīvotāju 21
Katrā desmitajā datorā joprojām izmanto Windows XP 2
Google tuvākajā laikā atteiksies no Chrome paplašinājuma palaidēja 2
Acer ievieš nozares pirmo ieliekto monitoru ar acu izsekošanas funkcionalitāti 4
Adobe laiž klajā ārkārtas atjauninājumu 3
Tests: Cik precīzs ir "lēta gala" velo spidometrs? 3
Leģendārie telefoni – Nokia 3310 un citi 3
Puisis iziet Super Mario spēli mazāk kā piecu minūšu laikā un labo pasaules rekordu 2
Līdz 29.jūlijam atjaunini savu Windows bez maksas! 3
Kā uzlabot televizora skaņu? 2
Programma, ar kuras palīdzību fotogrāfijas pārveidot .gif formātā 1
Aproce, kas sastāv no 25 instrumentiem 1
Trīs padomi televizora izvēlei 2
Windows 7 ēra tuvojas noslēgumam, Microsoft koncentrējas uz Windows 10 1
Lietotāji online: 76
Reģistrētie lietotāji online: 0
Viesi online: 76
Varbut kads redz, kur man ir kluda?
#include <iostream>
#include <string>
#include <stdexcept>
using namespace std;
int ex;
const static int M = 1000;
const static int D = 500;
const static int C = 100;
const static int L = 50;
const static int X = 10;
const static int V = 5;
const static int I = 1;
class RomanNumeral
{
public:
RomanNumeral( const int decimal ) :
m_roman( "" ),
m_decimal( ((decimal > 0) ? decimal : 0) )
{
if( decimal > 0 )
{
int i = decimal;
while( i > 0 )
{
if( ( i - M ) >= 0 )
{
m_roman += "M";
i -= M;
continue;
}
if( ( i - D ) >= 0 )
{
m_roman += "D";
i -= D;
continue;
}
if( ( i - C ) >= 0 )
{
m_roman += "C";
i -= C;
continue;
}
if( ( i - L ) >= 0 )
{
m_roman += "L";
i -= L;
continue;
}
if( ( i - X ) >= 0 )
{
m_roman += "X";
i -= X;
continue;
}
if( ( i - V ) >= 0 )
{
m_roman += "V";
i -= V;
continue;
}
if( ( i - I ) >= 0 )
{
m_roman += "I";
i -= I;
continue;
}
}
}
else
{
m_roman = "0";
}
}
RomanNumeral( const std::string& string ) :
m_roman( ((string.size() > 0 ) ? string : "0" ) ),
m_decimal( 0 )
{
int i = 0;
while( i < (int)string.size() )
{
char c = string[i++];
switch( c )
{
case 'M':
m_decimal += M;
break;
case 'D':
m_decimal += D;
break;
case 'C':
m_decimal += C;
break;
case 'L':
m_decimal += L;
break;
case 'X':
m_decimal += X;
break;
case 'V':
m_decimal += V;
break;
case 'I':
m_decimal += I;
break;
default:
throw new std:: out_of_range( "Kljuda. Nav tada romiesha skaitlja" );
break;
}
}
}
int getDecimal()
{
return m_decimal;
}
void setDecimal( const int decimal );
const std::string& getRoman()
{
return m_roman;
}
protected:
std::string m_roman;
int m_decimal;
};
int main()
{
cout << "Ievadiet lielo burtu virkni";
std::string roman;
cin >> roman;
try
{
RomanNumeral rn( roman );
cout << " Decimal: " << rn.getDecimal() << endl;
}
catch( exception* ex )
{
cout << roman << " " << ex ->what() << endl;
}
system("pause");
return 0;
}
nekorekti konvertē skaitļus?
sieva neapmierināta?
naktīs nevari gulēt?
Tad beidz ticēt tiem sviestiem, ka katrs burts nozīmē tikai 1 skaitli - ir jāskatās kopā, piem "XC" būs 90, nevis "10 + 100".
ir 2 pieejas tam: viena - lietot visus iespējamos lukapus, lai korekti atpazītu XC utml ( http://www.go4expert.com/forums/showthread.php?t=4948 ), otra - pirms sagatavošanas pārtaisīt piem XC par "LXXXX" un tad parsēt kā parasti ( http://snipplr.com/view/6314/roman-numerals/ , skatīt funkciju "roman_expand($roman)".