C ভাষায় রোমান সংখ্যাকে দশমিক সংখ্যায় রূপান্তর করার জন্য নিচে একটি অ্যালগরিদম দেওয়া হল -
অ্যালগরিদম
ধাপ 1 - শুরু করুন
ধাপ 2 - রানটাইমে রোমান সংখ্যা পড়ুন
ধাপ 3 - দৈর্ঘ্য:=strlen(রোমান)
ধাপ 4 − i =0 থেকে দৈর্ঘ্য-1 do
এর জন্যধাপ 4.1 − সুইচ(রোমান[i])
ধাপ 4.1.1 − ক্ষেত্রে 'm':
ধাপ 4.1.2 − ক্ষেত্রে 'M':
ধাপ 4.1.2.1 − d[i]:=1000
ধাপ 4.1.3 − ক্ষেত্রে 'd':
ধাপ 4.1.4 − ক্ষেত্রে 'D':
ধাপ 4.1.4.1 − d[i]:=500
ধাপ 4.1.5 − ক্ষেত্রে 'c':
ধাপ 4.1.6 - কেস 'C':
ধাপ 4.1.6.1 − d[i]:=100
ধাপ 4.1.7 − ক্ষেত্রে 'l':
ধাপ 4.1.8 − ক্ষেত্রে 'L':
ধাপ 4.1.8.1 − d[i]:=50
ধাপ 4.1.9 - কেস 'x':
ধাপ 4.1.10 - কেস 'X':
ধাপ 4.1.10.1 − d[i]:=10
ধাপ 4.1.11 - কেস 'v':
ধাপ 4.1.12 - কেস 'V':
ধাপ 4.1.12.1 − d[i]:=5
ধাপ 4.1.13 - ক্ষেত্রে 'i':
ধাপ 4.1.14 - ক্ষেত্রে 'I':
ধাপ 4.1.14.1 − d[i]:=1
ধাপ 5 − i =0 থেকে দৈর্ঘ্য-1 do
এর জন্যধাপ 5.1 - যদি (i==দৈর্ঘ্য-1) বা (d[i]>=d[i+1]) তাহলে
ধাপ 5.1.1 − deci +=d[i>
ধাপ 5.2 - অন্যথায়
ধাপ 5.2.1 − deci -=d[i>
ধাপ 6 - রোমান সংখ্যার দশমিক সমতুল্য
প্রিন্ট করুনধাপ 7 - থামুন
প্রোগ্রাম
রোমান সংখ্যাকে দশমিক সংখ্যায় রূপান্তর করতে নিচে C প্রোগ্রাম রয়েছে −
#include#include main(){ char roman[30]; int deci=0; int length,i,d[30]; printf("দশমিকের সমান রোমান\n"); printf("দশমিক:.........রোমান\n"); printf("%5d............%3c\n",1,'I'); printf("%5d............%3c\n",5,'V'); printf("%5d............%3c\n",10,'X'); printf("%5d............%3c\n",50,'L'); printf("%5d............%3c\n",100,'C'); printf("%5d............%3c\n",500,'D'); printf("%5d............%3c\n",1000,'M'); printf("একটি রোমান সংখ্যা লিখুন:"); scanf("%s", রোমান); দৈর্ঘ্য =strlen(রোমান); জন্য(i=0;i<দৈর্ঘ্য;i++){ স্যুইচ(রোমান[i]){ কেস 'm':কেস 'M':d[i]=1000; বিরতি কেস 'ডি':কেস 'ডি':d[i] =500; বিরতি কেস 'সি':কেস 'সি':d[i] =100; বিরতি কেস 'l':কেস 'L':d[i] =50; বিরতি কেস 'x':কেস 'X':d[i] =10; বিরতি; কেস 'v':কেস 'V':d[i] =5; বিরতি কেস 'i':কেস 'I':d[i] =1; } } এর জন্য(i=0;i<দৈর্ঘ্য;i++){ if(i==দৈর্ঘ্য-1 || d[i]>=d[i+1]) deci +=d[i]; else deci -=d[i]; } printf("রোমান সংখ্যা %s এর দশমিক সমতুল্য হল %d", রোমান, deci);}
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
<প্রে>রোমান দশমিকের সমতুল্য ডেসিমাল:.........Roman1............ I5............ V10..... ....... X50............ L100............ C500............ D1000... ......... একটি রোমান সংখ্যা লিখুন:MThe দশমিক সমতুল্য রোমান সংখ্যা M হল 1000