algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Zamiana z i na system rzymski - Implementacja w C/C++
Ocena użytkownikóww: *****  / 10
SłabyŚwietny
Nadesłany przez Kamil Dębowski, 06 marca 2011 19:15
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

rzymskie_1_c.cpp:
// Zamiana liczby rzymskiej na arabska
// www.algorytm.org

#include<cstdio>
#include<conio.h>
#include<map>
using namespace std;

map<char,int> wart;

char s[50];
int i,res,a,last;

int main()
{
	wart['I']=1;
	wart['V']=5;
	wart['X']=10;
	wart['L']=50;
	wart['C']=100;
	wart['D']=500;
	wart['M']=1000;

	scanf("%s", s);
	i=strlen(s);
	while(i--)	// idziemy od prawej
	{
		a=wart[s[i]];
		if (a>=last)	// jesli mamy "wieksza litere" to jej wartosc dodajemy"
		{
			last=a;
			res+=a;
		}
		else res-=a;		// jesli mniejsza to odejmujemy
	}
	printf("%d", res);
	getch();
	return 0;
}
Dodaj komentarz