fork download
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <string>
  4. #include <math.h>
  5. #include <ctime>
  6. using namespace std;
  7. class Chisla
  8. {
  9. int size;
  10. int CC;
  11. string Value;
  12. int result;
  13.  
  14. public:
  15. //Конструктор класса
  16. Chisla(string Chislo)
  17. {
  18. Value = Chislo;
  19. }
  20.  
  21. private:
  22. //поиск системы счисления
  23. int poiskbase()
  24. {
  25. int i=0;
  26. char temp=0;
  27. while(Value[i]!='\0')
  28. {
  29. if(temp<Value[i])
  30. {
  31. temp=Value[i];
  32. }
  33. i++;
  34. }
  35. size = i;
  36. int temp2=char2num(temp);
  37. srand(time(0));
  38. return rand()%32+(temp2);
  39. }
  40. //перевод из найденной системы счисления в десятичную
  41. int returnvalue()
  42. {
  43. int Value2[size];
  44. int Value3 = 0;
  45. int size2=size-1;
  46. for(int i=0;i<size;i++)
  47. {
  48. Value2[i] = char2num(Value[i]);
  49. }
  50. if(size>1)
  51. {
  52. for(int i=0;i<size;i++)
  53. {
  54. Value3=Value3+(Value2[i]*pow(CC,size2));
  55. size2--;
  56. }
  57. }else
  58. {
  59. Value3=Value2[0];
  60. }
  61. return Value3;
  62. }
  63. //Конвертация символа в число
  64. char char2num(char num)
  65. {
  66. if(num <= '9')
  67. return int(num - '0');
  68. else if(num >= 'a')
  69. return int(num - 'a'+10);
  70. }
  71. public:
  72. //Методы вывода ответов
  73. int resultbase()
  74. {
  75. return CC = poiskbase();
  76. }
  77. int resultvalue()
  78. {
  79. return result = returnvalue();
  80. }
  81. };
  82. int main()
  83. {
  84. int CC = 0;
  85. string Value = "";
  86. char Otv;
  87. cout << "Vvedite chislo: " << endl;
  88. cin >> Value;
  89. // do
  90. //{
  91. Chisla Chislo(Value);
  92. CC = Chislo.resultbase();
  93. int result = Chislo.resultvalue();
  94. cout << "Chislo " << result << " v " << CC << " sisteme schhisleniya." << endl;
  95. // cout << "Otvet veren? Y/N" << endl;
  96. cin >> Otv;
  97. //}while(Otv != 'Y' && Otv != 'y');
  98. system("PAUSE");
  99. return 0;
  100. }
  101.  
Success #stdin #stdout #stderr 0s 3480KB
stdin
f
stdout
Vvedite chislo: 
Chislo 15 v 24 sisteme schhisleniya.
stderr
sh: PAUSE: not found