Вписване в сайта



низ (стринг)

Вторник, 27 Юли 2010 07:19

низ стринг римски арабски цифри

Написана от 
Оценете
(1 глас)

Условие

Да се състави програма на C++, чрез която се въвежда число с римски цифри.
Програмата да извежда числото с арабски цифри в 10-ична бройна система.
Ползвайте следните означения: 1-I;5-V;10-X;L-50;C-100;D-500;M-1000.
Пример: XXIX Изход: 29

Решение

За да видите решението на задачата, изпратете SMS с текст zadachi на номер 1092 - цената е 2.40 лв с ДДС. Получения код въведете в полето SMS код на страницата със задачата, чието решение искате да видите.

Кодът може да се ползва еднократно, но важи за решенията на всички задачи от дадената категория.

Използването на сайта предполага съгласие и съобразяване с условията за ползване.

{reg}

 
#include<iostream>
#include<cstring>//strstr
using namespace std;
int main()
{const int Max_dyl=60;//dylvina na rimskoto chislo
const int br_rim=7;//broq latinski cifri
char chislo[Max_dyl],rim[br_rim]={'I','V','X','L','C','D','M'};
int a,b,dyl,arab,cifr1,cifr2,ar_c[br_rim]={1,5,10,50,100,500,1000};
//deklarira promenliwite. W C++ tipyt String se predstawq kato masiw ot Char
cout<<"Da se systawi programa, chrez koqto ot klawiaturata se wywevda \n";
cout<<"chislo s rimski cifri. Programata da izwede syshoto chislo, no\n";
cout<<"predstaweno s arabski cifri.\n";
cout<<"Polzwajte slednite oznacheniq:1-I;5-V;10-X;L-50;C-100;D-500;M-1000.\n";
cout <<"Primer: XXIX Izhod 29.\n";
  cout<<endl;
  cout<<"Wywedete rimsko chislo: ";cin>>chislo;
  dyl=strlen(chislo);
  arab=0;cifr1=0;cifr2=0;//inicializacia
  for (a=dyl-1;a>-1;a--)//rimskoto chislo se chete otzad-napred
  { for (b=0; b<br_rim;b++)//mnovestwoto walidni rimski cifri
    { if (chislo[a]==rim[b])//ako ima takawa rimska cifra
     { cifr1=ar_c[b];
      if (cifr1<cifr2) {arab-=cifr1;}//po-malkata cifra se izwavda
       else {arab+=cifr1;}//rawana i po-golqma cifra se pribawq
       cifr2=cifr1;//
     }//ako e otkrita cifra
    }//prowerka rimska cifra-chislo
  }//poredniq znak ot rimskoto chislo
  cout<<"Wywedenoto chislo s arabski chifri e: "<<arab<<endl;
  system("pause"); 
  return 0;
}//kraj na programa  string

Прочетена 2567 пъти Последно променена в Четвъртък, 29 Юли 2010 03:43