Cześć.
Mam za zadanie napisać metodę zamieniającą liczby rzymskie na arabskie. W javie poszło mi dość łatwo i teraz próbuję przepisać tą metodę do c++ ale mam właśnie problem z metodą startswith jak ją zastąpić w c++. Tak to wygląda w javie:
public class RzymArab{
private static String[] rzymskie = {"M", "CM", "D", "CD", "C","XC", "L", "XL", "X", "IX", "V", "IV", "I"};
private static int[] arabskie = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
public static int rzym2arab(String rzym) throws RzymArabException{
rzym = rzym.toUpperCase();
int wyjscie = 0;
int index = 0;
if(rzym.length() == 0){
throw new RzymArabException("Nie podano liczby.");
}
for (int i = 0; i < rzymskie.length; i++){
while (rzym.startsWith(rzymskie[i], index)){
wyjscie += arabskie[i];
index += rzymskie[i].length();
}
}
return wyjscie;
}
}
Jest jakiś odpowiednik w c++? Albo może jest jakiś inny sprytny trick?