Xem bài viết đơn
  #14  
Old 11-04-2013, 05:00 PM
deviltrigger's Avatar
deviltrigger deviltrigger is offline
Việt tác gia
 
Tham gia: Nov 2012
Đến từ: Cầu Giấy-Hà Nội
Bài gởi: 1,186
Thời gian online: 5672450
Xu: 0
Thanks: 38
Thanked 6,156 Times in 1,119 Posts
Vấn đề 2: chuyển chữ la mã thành số:
Giả sử chuỗi nhập vào là input;
String Lama[]=[“”, “I”, “II”, “III”, “IV”, “V”, “VI”, “VII”, “VIII”, “IX”, “X”, “XX”, “XXX”, “XL”, “L”, “LX”, “LXX”, “LXXX”,”XC”, “C”, “CC”, “CCC”, “CD”, “D”, “DC”, “DCC”, “DCCC”, “CM”, “M”, “MM”, “MMM”]

int number[0, 1, 2, 3, 4, 5, 6 , 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000 ]

Kiểm tra định dạng số la mã.

for(int i=0; i<input.length(); i++){
if(input[i]==’I’||input[i]==’V’||input[i]=’X’...){
kiểm tra trong chuỗi string không có ký tự lạ ngoài chữ số la mã
}
else{
kiểm tra thấy tồn tại chữ ngoài chữ số la mã;
}
}

int num=0;
while(input==””){
for(int i=input.length()-1; i>=0; i--)
{
string save=input.substr(0,i);
for(int j=0; j< Lama.count();j++){
if(save.equal(Lama[i])){
num=num+number[j];
input=input substr(i+1, input.length()-(i+1));
}
}
}
}
boolean isLama=true;
string toLama= num -> la mã (thực thi chuyển đổi number sang số la mã)
if(toLama.equal(input)){
số la mã nhập vào là đúng in ra num;
}
else{
số la mã nhập sai báo lại cho người dùng là đã nhập sai số la mã. Số la mã này không tồn tại
}

Cái này chắc là ổn
Tài sản của deviltrigger

Chữ ký của deviltrigger
Không có việc gì khó, chỉ sợ lòng không bền
Nhà lầu và gái đẹp, quyết chí ắt làm nên
Trả Lời Với Trích Dẫn