Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.36 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15.  
  16. namespace WpfApp3
  17. {
  18. /// <summary>
  19. /// Interaction logic for MainWindow.xaml
  20. /// </summary>
  21. public partial class MainWindow : Window
  22. {
  23. Number a = new Number();
  24. Number b = new Number();
  25. Number d = new Number();
  26. public class Number
  27. {
  28. public string num;
  29. public int cc;
  30.  
  31. char[] symbols = {'8', '9'};
  32.  
  33.  
  34. }
  35. public MainWindow()
  36. {
  37. InitializeComponent();
  38. }
  39.  
  40. public int Tonum(string num, int cc, int el)
  41. {
  42. switch (num[el])
  43. {
  44. case '0':
  45. return 0;
  46. break;
  47. case '1':
  48. return 1;
  49. break;
  50. case '2':
  51. return 2;
  52. break;
  53. case '3':
  54. return 3;
  55. break;
  56. case '4':
  57. return 4;
  58. break;
  59. case '5':
  60. return 5;
  61. break;
  62. case '6':
  63. return 6;
  64. break;
  65. case '7':
  66. return 7;
  67. break;
  68. case '8':
  69. return 8;
  70. break;
  71. case '9':
  72. return 9;
  73. break;
  74. default:
  75. return 10001;
  76. break;
  77. }
  78.  
  79. }
  80. public char Tochar(int s)
  81. {
  82. switch (s)
  83. {
  84. case 0:
  85. return '0';
  86. break;
  87. case 1:
  88. return '1';
  89. break;
  90. case 2:
  91. return '2';
  92. break;
  93. case 3:
  94. return '3';
  95. break;
  96. case 4:
  97. return '4';
  98. break;
  99. case 5:
  100. return '5';
  101. break;
  102. case 6:
  103. return '6';
  104. break;
  105. case 7:
  106. return '7';
  107. break;
  108. case 8:
  109. return '8';
  110. break;
  111. case 9:
  112. return '9';
  113. break;
  114. default:
  115. return 'X';
  116. break;
  117. }
  118. }
  119. public void Contoten(Number f)
  120. {
  121. int ccin = f.cc;
  122. string numin = f.num;
  123. int ccout = 10;
  124. string numout;
  125. int len = numin.Length;
  126. int sum = 0;
  127. for (int i = 0; i < len; i++)
  128. {
  129. sum = sum + Tonum(numin, ccin, i) * (int)Math.Pow((double)ccin, (double)(len - i - 1));
  130. }
  131.  
  132. d.cc = 10;
  133. d.num = sum.ToString();
  134. sum = 0;
  135.  
  136. label2.Content = d.cc.ToString();
  137. label3.Content = d.num;
  138. }
  139.  
  140. public void Confromten(Number f)
  141. {
  142. int ccin = f.cc;
  143. string numin = f.num;
  144. int ccout = int.Parse(ns2.Text);
  145. string numout;
  146. int len = numin.Length;
  147.  
  148. int[] mas = new int[100];
  149.  
  150. int num = int.Parse(numin);
  151. int s = 0;
  152. if (int.Parse(f.num) > ccout)
  153. {
  154. do
  155. {
  156. mas[s] = num % ccout;
  157. num = num / ccout;
  158. s++;
  159. } while (num >= ccout);
  160. }
  161. mas[s] = num;
  162.  
  163.  
  164. string ans = " ";
  165.  
  166. StringBuilder sb = new StringBuilder(ans);
  167.  
  168. for (int i = 0; i <= s; i++)
  169. {
  170. sb[i] = Tochar(mas[s - i]);
  171. }
  172.  
  173. ans = sb.ToString();
  174.  
  175. b.cc = ccout;
  176. b.num = ans;
  177. }
  178.  
  179. private void button_Click(object sender, RoutedEventArgs e)
  180. {
  181. try
  182. {
  183. Number number = new Number();
  184. number.cc = int.Parse(ns1.Text);
  185. if (number.cc < 8 || number.cc > 9) throw new Exception();
  186. number.num = n1.Text;
  187. if (int.Parse(number.num) < 0) throw new Exception();
  188. for (int i = 0; i < number.num.Length; i++)
  189. {
  190. if (Tonum(number.num, 0, i) >= number.cc) throw new Exception();
  191. }
  192.  
  193. Contoten(number);
  194. Confromten(d);
  195. n2.Text = b.num;
  196. ns2.Text = b.cc.ToString();
  197. }
  198. catch (Exception)
  199. {
  200. MessageBox.Show("Wrong data!");
  201. }
  202. }
  203. }
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement