Advertisement
Guest User

Untitled

a guest
Sep 20th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.88 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int points[10][7] = {
  5. {1, 2, 0, 2, 2, 1, 2}, //0
  6. {0, 0, 0, 2, 0, 0, 2}, //1
  7. {1, 0, 1, 2, 2, 1, 0}, //2
  8. {1, 0, 1, 2, 0, 1, 2}, //3
  9. {0, 2, 1, 2, 0, 0, 2}, //4
  10. {1, 2, 1, 0, 0, 1, 2}, //5
  11. {1, 2, 1, 0, 2, 1, 2}, //6
  12. {1, 0, 0, 2, 0, 0, 2}, //7
  13. {1, 2, 1, 2, 2, 1, 2}, //8
  14. {1, 2, 1, 2, 0, 1, 2} //9
  15. };
  16.  
  17. int main(){
  18. int s, flag, start_line = 0, end_line, half_line;
  19. char num[10];
  20.  
  21. while(true){
  22. scanf("%d %s", &s, &num);
  23. if(s == 0 && strcmp(num, "0") == 0) break;
  24. end_line = 2 * s + 2;
  25. if(end_line % 2 == 0) half_line = end_line / 2;
  26. else half_line = end_line / 2 + 1;
  27. int len_num = strlen(num);
  28. for(int x = 0; x < 2 * s + 3; x++){
  29. for(int i = 0; i < len_num; i++){
  30. if(num[i] == '0'){
  31. if(x == start_line){
  32. flag = 0;
  33. printf(" ");
  34. if(points[0][flag] == 1){
  35. for(int a = 0; a < s; a++) printf("-");
  36. } else for(int a = 0; a < s; a++) printf(" ");
  37. printf(" ");
  38. }
  39. else if(x > start_line && x < end_line) {
  40. for( flag = 1; flag < 4; flag++){
  41. if(points[0][flag] == 0){
  42. for(int a = 0; a < s; a++) printf(" ");
  43.  
  44. }
  45. if(points[0][flag] == 2){
  46. if(x == half_line) printf(" ");
  47. else if (x > half_line && points[0][4] == 0){
  48. if(flag != 3) printf(" ");
  49. else if(flag == 3 && points[0][6] == 2) printf("|");
  50. }
  51. else{
  52. printf("|");
  53. }
  54. }
  55. if(points[0][flag] == 1){
  56. if(x == half_line) {
  57. for(int a = 0; a < s; a++) printf("-");
  58. }
  59. else for(int a = 0; a < s; a++) printf(" ");
  60. }
  61.  
  62. }
  63. }
  64. else {
  65. for( flag = 4; flag < 7; flag++){
  66. if(points[0][flag] == 0) printf(" ");
  67. if(points[0][flag] == 1){
  68. for(int a = 0; a < s; a++)
  69. printf("-");
  70. }
  71. if(points[0][flag] == 2) printf(" ");
  72. }
  73. }
  74. }
  75.  
  76. if(num[i] == '1'){
  77. if(x == start_line){
  78. flag = 0;
  79. printf(" ");
  80. if(points[1][flag] == 1){
  81. for(int a = 0; a < s; a++) printf("-");
  82. }else for(int a = 0; a < s; a++) printf(" ");
  83. for(int a = 0; a < s; a++) printf(" ");
  84. }
  85. else if(x > start_line && x < end_line) {
  86. for( flag = 1; flag < 4; flag++){
  87. if(points[1][flag] == 0){
  88. for(int a = 0; a < s; a++) printf(" ");
  89.  
  90. }
  91. if(points[1][flag] == 2){
  92. if(x == half_line) printf(" ");
  93. else if (x > half_line && points[1][4] == 0){
  94. if(flag != 3) printf(" ");
  95. else if(flag == 3 && points[1][6] == 2) printf("|");
  96. }
  97. else{
  98. printf("|");
  99. }
  100. }
  101. if(points[1][flag] == 1){
  102. if(x == half_line) {
  103. for(int a = 0; a < s; a++) printf("-");
  104. }
  105. else for(int a = 0; a < s; a++) printf(" ");
  106. }
  107.  
  108. }
  109. }
  110. else {
  111. for( flag = 4; flag < 7; flag++){
  112. if(points[1][flag] == 0) for(int a = 0; a < s; a++) printf(" ");
  113. if(points[1][flag] == 1){
  114. for(int a = 0; a < s; a++)
  115. printf("-");
  116. }
  117. if(points[1][flag] == 2) printf(" ");
  118. }
  119. }
  120. }
  121.  
  122. if(num[i] == '2'){
  123. if(x == start_line){
  124. flag = 0;
  125. printf(" ");
  126. if(points[2][flag] == 1){
  127. for(int a = 0; a < s; a++) printf("-");
  128. }else for(int a = 0; a < s; a++) printf(" ");
  129. printf(" ");
  130. }
  131. else if(x > start_line && x < end_line) {
  132. for( flag = 1; flag < 4; flag++){
  133.  
  134. if(points[2][flag] == 2){
  135. if(x == half_line) printf(" ");
  136. else if (x > half_line && points[2][4] == 0){
  137. if(flag != 3) printf(" ");
  138. else if(flag == 3 && points[2][6] == 2) printf("|");
  139. }
  140. else if (x > half_line && points[2][6] == 0) printf(" ");
  141. else{
  142. printf("|");
  143. }
  144. }
  145. if(points[2][flag] == 0){
  146. if(x > half_line && points[2][4] == 2)
  147. printf("|");
  148. else printf(" ");
  149. }
  150. if(points[2][flag] == 1){
  151. if(x == half_line) {
  152. for(int a = 0; a < s; a++) printf("-");
  153. }
  154. else{
  155. for(int a = 0; a < s; a++) printf(" ");
  156. }
  157.  
  158. }
  159.  
  160. }
  161. }
  162. else {
  163. for( flag = 4; flag < 7; flag++){
  164. if(points[2][flag] == 0) printf(" ");
  165. if(points[2][flag] == 1){
  166. for(int a = 0; a < s; a++)
  167. printf("-");
  168. }
  169. if(points[2][flag] == 2) printf(" ");
  170. }
  171. }
  172. }
  173.  
  174. if(num[i] == '3'){
  175. if(x == start_line){
  176. flag = 0;
  177. printf(" ");
  178. if(points[3][flag] == 1){
  179. for(int a = 0; a < s; a++) printf("-");
  180. }else for(int a = 0; a < s; a++) printf(" ");
  181. printf(" ");
  182. }
  183. else if(x > start_line && x < end_line) {
  184. for( flag = 1; flag < 4; flag++){
  185. if(points[3][flag] == 2){
  186. if(x == half_line) printf(" ");
  187. else if (x > half_line && points[3][4] == 0){
  188. if(flag != 3) printf(" ");
  189. else if(flag == 3 && points[3][6] == 2) printf("|");
  190. }
  191. else if (x > half_line && points[3][6] == 0) printf(" ");
  192. else{
  193. printf("|");
  194. }
  195. }
  196. if(points[3][flag] == 0){
  197. if(x > half_line && points[3][4] == 2)
  198. printf("|");
  199. else printf(" ");
  200. }
  201. if(points[3][flag] == 1){
  202. if(x == half_line) {
  203. for(int a = 0; a < s; a++) printf("-");
  204. }
  205. else{
  206. for(int a = 0; a < s; a++) printf(" ");
  207. }
  208.  
  209. }
  210.  
  211. }
  212. }
  213. else {
  214. for( flag = 4; flag < 7; flag++){
  215. if(points[3][flag] == 0) printf(" ");
  216. if(points[3][flag] == 1){
  217. for(int a = 0; a < s; a++)
  218. printf("-");
  219. }
  220. if(points[3][flag] == 2) printf(" ");
  221. }
  222. }
  223. }
  224.  
  225. if(num[i] == '4'){
  226. if(x == start_line){
  227. flag = 0;
  228. printf(" ");
  229. if(points[4][flag] == 1){
  230. for(int a = 0; a < s; a++) printf("-");
  231. }else for(int a = 0; a < s; a++) printf(" ");
  232. printf(" ");
  233. }
  234. else if(x > start_line && x < end_line) {
  235. for( flag = 1; flag < 4; flag++){
  236. if(points[4][flag] == 0){
  237. for(int a = 0; a < s; a++) printf(" ");
  238. }
  239. if(points[4][flag] == 2){
  240. if(x == half_line) printf(" ");
  241. else if (x > half_line && points[4][4] == 0){
  242. if(flag != 3) printf(" ");
  243. else if(flag == 3 && points[4][6] == 2) printf("|");
  244. }
  245. else if (x > half_line && points[4][6] == 0) printf(" ");
  246. else{
  247. printf("|");
  248. }
  249. }
  250. if(points[4][flag] == 1){
  251. if(x == half_line) {
  252. for(int a = 0; a < s; a++) printf("-");
  253. }
  254. else for(int a = 0; a < s; a++) printf(" ");
  255. }
  256.  
  257. }
  258. }
  259. else {
  260. for( flag = 4; flag < 7; flag++){
  261. if(points[4][flag] == 0) printf(" ");
  262. if(points[4][flag] == 1){
  263. for(int a = 0; a < s; a++)
  264. printf("-");
  265. }
  266. if(points[4][flag] == 2) for(int a = 0; a < s; a++) printf(" ");
  267. }
  268. }
  269. }
  270.  
  271.  
  272. if(num[i] == '5'){
  273. if(x == start_line){
  274. flag = 0;
  275. printf(" ");
  276. if(points[5][flag] == 1){
  277. for(int a = 0; a < s; a++) printf("-");
  278. }else for(int a = 0; a < s; a++) printf(" ");
  279. printf(" ");
  280. }
  281. else if(x > start_line && x < end_line) {
  282. for( flag = 1; flag < 4; flag++){
  283. if(points[5][flag] == 0){
  284. if(x > half_line && flag == 3){
  285. printf("|");
  286. for (int a = 0; a < s-1; a++) printf(" ");
  287. }
  288. else for(int a = 0; a < s; a++) printf(" ");
  289. }
  290. if(points[5][flag] == 2){
  291. if(x == half_line) printf(" ");
  292. else if (x > half_line){
  293. if(flag != 3) printf(" ");
  294. else if(flag == 3 && points[5][6] == 2) printf("|");
  295. }
  296. else if (x > half_line && points[5][6] == 0) printf(" ");
  297. else{
  298. printf("|");
  299. }
  300. }
  301. if(points[5][flag] == 1){
  302. if(x == half_line) {
  303. for(int a = 0; a < s; a++) printf("-");
  304. }
  305. else for(int a = 0; a < s; a++) printf(" ");
  306. }
  307.  
  308. }
  309. }
  310. else {
  311. for( flag = 4; flag < 7; flag++){
  312. if(points[5][flag] == 0) printf(" ");
  313. if(points[5][flag] == 1){
  314. for(int a = 0; a < s; a++)
  315. printf("-");
  316. }
  317. if(points[5][flag] == 2) printf(" ");
  318. }
  319. }
  320. }
  321.  
  322. if(num[i] == '6'){
  323. if(x == start_line){
  324. flag = 0;
  325. printf(" ");
  326. if(points[6][flag] == 1){
  327. for(int a = 0; a < s; a++) printf("-");
  328. }else for(int a = 0; a < s; a++) printf(" ");
  329. printf(" ");
  330. }
  331. else if(x > start_line && x < end_line) {
  332. for( flag = 1; flag < 4; flag++){
  333. if(points[6][flag] == 0){
  334. if(x > half_line && flag == 3){
  335. printf("|");
  336. for (int a = 0; a < s-1; a++) printf(" ");
  337. }
  338. else for(int a = 0; a < s; a++) printf(" ");
  339. }
  340. if(points[6][flag] == 2){
  341. if(x == half_line) printf(" ");
  342. else if (x > half_line && points[6][4] == 0){
  343. if(flag != 3) printf(" ");
  344. else if(flag == 3 && points[6][6] == 2) printf("|");
  345. }
  346. else if (x > half_line && points[6][6] == 0) printf(" ");
  347. else{
  348. printf("|");
  349. }
  350. }
  351. if(points[6][flag] == 1){
  352. if(x == half_line) {
  353. for(int a = 0; a < s; a++) printf("-");
  354. }
  355. else for(int a = 0; a < s; a++) printf(" ");
  356. }
  357.  
  358. }
  359. }
  360. else {
  361. for( flag = 4; flag < 7; flag++){
  362. if(points[6][flag] == 0) printf(" ");
  363. if(points[6][flag] == 1){
  364. for(int a = 0; a < s; a++)
  365. printf("-");
  366. }
  367. if(points[6][flag] == 2) printf(" ");
  368. }
  369. }
  370. }
  371.  
  372. if(num[i] == '7'){
  373. if(x == start_line){
  374. flag = 0;
  375. printf(" ");
  376. if(points[7][flag] == 1){
  377. for(int a = 0; a < s; a++) printf("-");
  378. }else for(int a = 0; a < s; a++) printf(" ");
  379. printf(" ");
  380. }
  381. else if(x > start_line && x < end_line) {
  382. for( flag = 1; flag < 4; flag++){
  383. if(points[7][flag] == 0){
  384. if(x > half_line && flag == 3){
  385. printf("|");
  386. for (int a = 0; a < s-1; a++) printf(" ");
  387. }
  388. else for(int a = 0; a < s-1; a++) printf(" ");
  389. }
  390. if(points[7][flag] == 2){
  391. if(x == half_line) printf(" ");
  392. else if (x > half_line && points[7][4] == 0){
  393. if(flag != 3) printf(" ");
  394. else if(flag == 3 && points[7][6] == 2) printf("|");
  395. }
  396. else if (x > half_line && points[7][6] == 0) printf(" ");
  397. else{
  398. printf("|");
  399. }
  400. }
  401. if(points[7][flag] == 1){
  402. if(x == half_line) {
  403. for(int a = 0; a < s; a++) printf("-");
  404. }
  405. else for(int a = 0; a < s; a++) printf(" ");
  406. }
  407.  
  408. }
  409. }
  410. else {
  411. for( flag = 4; flag < 7; flag++){
  412. if(points[7][flag] == 0) for(int a = 0; a < s; a++) printf(" ");
  413. if(points[7][flag] == 1){
  414. for(int a = 0; a < s; a++)
  415. printf("-");
  416. }
  417. if(points[7][flag] == 2) printf(" ");
  418. }
  419. }
  420. }
  421.  
  422. if(num[i] == '8'){
  423. if(x == start_line){
  424. flag = 0;
  425. printf(" ");
  426. if(points[8][flag] == 1){
  427. for(int a = 0; a < s; a++) printf("-");
  428. }else for(int a = 0; a < s; a++) printf(" ");
  429. printf(" ");
  430. }
  431. else if(x > start_line && x < end_line) {
  432. for( flag = 1; flag < 4; flag++){
  433. if(points[8][flag] == 0){
  434. for(int a = 0; a < s; a++) printf(" ");
  435. }
  436. if(points[8][flag] == 2){
  437. if(x == half_line) printf(" ");
  438. else if (x > half_line && points[8][4] == 0){
  439. if(flag != 3) printf(" ");
  440. else if(flag == 3 && points[8][6] == 2) printf("|");
  441. }
  442. else{
  443. printf("|");
  444. }
  445. }
  446. if(points[8][flag] == 1){
  447. if(x == half_line) {
  448. for(int a = 0; a < s; a++) printf("-");
  449. }
  450. else for(int a = 0; a < s; a++) printf(" ");
  451. }
  452.  
  453. }
  454. }
  455. else {
  456. for( flag = 4; flag < 7; flag++){
  457. if(points[8][flag] == 0) printf(" ");
  458. if(points[8][flag] == 1){
  459. for(int a = 0; a < s; a++)
  460. printf("-");
  461. }
  462. if(points[8][flag] == 2) printf(" ");
  463. }
  464. }
  465. }
  466.  
  467. if(num[i] == '9'){
  468. if(x == start_line){
  469. flag = 0;
  470. printf(" ");
  471. if(points[9][flag] == 1){
  472. for(int a = 0; a < s; a++) printf("-");
  473. }else for(int a = 0; a < s; a++) printf(" ");
  474. printf(" ");
  475. }
  476. else if(x > start_line && x < end_line) {
  477. for( flag = 1; flag < 4; flag++){
  478. if(points[9][flag] == 0){
  479. for(int a = 0; a < s; a++) printf(" ");
  480.  
  481. }
  482. if(points[9][flag] == 2){
  483. if(x == half_line) printf(" ");
  484. else if (x > half_line && points[9][4] == 0){
  485. if(flag != 3) printf(" ");
  486. else if(flag == 3 && points[9][6] == 2) printf("|");
  487. }
  488. else{
  489. printf("|");
  490. }
  491. }
  492. if(points[9][flag] == 1){
  493. if(x == half_line) {
  494. for(int a = 0; a < s; a++) printf("-");
  495. }
  496. else for(int a = 0; a < s; a++) printf(" ");
  497. }
  498.  
  499. }
  500. }
  501. else {
  502. for( flag = 4; flag < 7; flag++){
  503. if(points[9][flag] == 0) printf(" ");
  504. if(points[9][flag] == 1){
  505. for(int a = 0; a < s; a++)
  506. printf("-");
  507. }
  508. if(points[9][flag] == 2) printf(" ");
  509. }
  510. }
  511. }
  512.  
  513. printf(" ");
  514. }
  515. printf("\n");
  516. }
  517. }
  518.  
  519. return 0;
  520. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement