Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- int points[10][7] = {
- {1, 2, 0, 2, 2, 1, 2}, //0
- {0, 0, 0, 2, 0, 0, 2}, //1
- {1, 0, 1, 2, 2, 1, 0}, //2
- {1, 0, 1, 2, 0, 1, 2}, //3
- {0, 2, 1, 2, 0, 0, 2}, //4
- {1, 2, 1, 0, 0, 1, 2}, //5
- {1, 2, 1, 0, 2, 1, 2}, //6
- {1, 0, 0, 2, 0, 0, 2}, //7
- {1, 2, 1, 2, 2, 1, 2}, //8
- {1, 2, 1, 2, 0, 1, 2} //9
- };
- int main(){
- int s, flag, start_line = 0, end_line, half_line;
- char num[10];
- while(true){
- scanf("%d %s", &s, &num);
- if(s == 0 && strcmp(num, "0") == 0) break;
- end_line = 2 * s + 2;
- if(end_line % 2 == 0) half_line = end_line / 2;
- else half_line = end_line / 2 + 1;
- int len_num = strlen(num);
- for(int x = 0; x < 2 * s + 3; x++){
- for(int i = 0; i < len_num; i++){
- if(num[i] == '0'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[0][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- } else for(int a = 0; a < s; a++) printf(" ");
- printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[0][flag] == 0){
- for(int a = 0; a < s; a++) printf(" ");
- }
- if(points[0][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line && points[0][4] == 0){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[0][6] == 2) printf("|");
- }
- else{
- printf("|");
- }
- }
- if(points[0][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[0][flag] == 0) printf(" ");
- if(points[0][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[0][flag] == 2) printf(" ");
- }
- }
- }
- if(num[i] == '1'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[1][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- }else for(int a = 0; a < s; a++) printf(" ");
- for(int a = 0; a < s; a++) printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[1][flag] == 0){
- for(int a = 0; a < s; a++) printf(" ");
- }
- if(points[1][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line && points[1][4] == 0){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[1][6] == 2) printf("|");
- }
- else{
- printf("|");
- }
- }
- if(points[1][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[1][flag] == 0) for(int a = 0; a < s; a++) printf(" ");
- if(points[1][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[1][flag] == 2) printf(" ");
- }
- }
- }
- if(num[i] == '2'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[2][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- }else for(int a = 0; a < s; a++) printf(" ");
- printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[2][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line && points[2][4] == 0){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[2][6] == 2) printf("|");
- }
- else if (x > half_line && points[2][6] == 0) printf(" ");
- else{
- printf("|");
- }
- }
- if(points[2][flag] == 0){
- if(x > half_line && points[2][4] == 2)
- printf("|");
- else printf(" ");
- }
- if(points[2][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else{
- for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[2][flag] == 0) printf(" ");
- if(points[2][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[2][flag] == 2) printf(" ");
- }
- }
- }
- if(num[i] == '3'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[3][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- }else for(int a = 0; a < s; a++) printf(" ");
- printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[3][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line && points[3][4] == 0){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[3][6] == 2) printf("|");
- }
- else if (x > half_line && points[3][6] == 0) printf(" ");
- else{
- printf("|");
- }
- }
- if(points[3][flag] == 0){
- if(x > half_line && points[3][4] == 2)
- printf("|");
- else printf(" ");
- }
- if(points[3][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else{
- for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[3][flag] == 0) printf(" ");
- if(points[3][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[3][flag] == 2) printf(" ");
- }
- }
- }
- if(num[i] == '4'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[4][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- }else for(int a = 0; a < s; a++) printf(" ");
- printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[4][flag] == 0){
- for(int a = 0; a < s; a++) printf(" ");
- }
- if(points[4][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line && points[4][4] == 0){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[4][6] == 2) printf("|");
- }
- else if (x > half_line && points[4][6] == 0) printf(" ");
- else{
- printf("|");
- }
- }
- if(points[4][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[4][flag] == 0) printf(" ");
- if(points[4][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[4][flag] == 2) for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- if(num[i] == '5'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[5][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- }else for(int a = 0; a < s; a++) printf(" ");
- printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[5][flag] == 0){
- if(x > half_line && flag == 3){
- printf("|");
- for (int a = 0; a < s-1; a++) printf(" ");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- if(points[5][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[5][6] == 2) printf("|");
- }
- else if (x > half_line && points[5][6] == 0) printf(" ");
- else{
- printf("|");
- }
- }
- if(points[5][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[5][flag] == 0) printf(" ");
- if(points[5][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[5][flag] == 2) printf(" ");
- }
- }
- }
- if(num[i] == '6'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[6][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- }else for(int a = 0; a < s; a++) printf(" ");
- printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[6][flag] == 0){
- if(x > half_line && flag == 3){
- printf("|");
- for (int a = 0; a < s-1; a++) printf(" ");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- if(points[6][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line && points[6][4] == 0){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[6][6] == 2) printf("|");
- }
- else if (x > half_line && points[6][6] == 0) printf(" ");
- else{
- printf("|");
- }
- }
- if(points[6][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[6][flag] == 0) printf(" ");
- if(points[6][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[6][flag] == 2) printf(" ");
- }
- }
- }
- if(num[i] == '7'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[7][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- }else for(int a = 0; a < s; a++) printf(" ");
- printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[7][flag] == 0){
- if(x > half_line && flag == 3){
- printf("|");
- for (int a = 0; a < s-1; a++) printf(" ");
- }
- else for(int a = 0; a < s-1; a++) printf(" ");
- }
- if(points[7][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line && points[7][4] == 0){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[7][6] == 2) printf("|");
- }
- else if (x > half_line && points[7][6] == 0) printf(" ");
- else{
- printf("|");
- }
- }
- if(points[7][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[7][flag] == 0) for(int a = 0; a < s; a++) printf(" ");
- if(points[7][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[7][flag] == 2) printf(" ");
- }
- }
- }
- if(num[i] == '8'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[8][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- }else for(int a = 0; a < s; a++) printf(" ");
- printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[8][flag] == 0){
- for(int a = 0; a < s; a++) printf(" ");
- }
- if(points[8][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line && points[8][4] == 0){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[8][6] == 2) printf("|");
- }
- else{
- printf("|");
- }
- }
- if(points[8][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[8][flag] == 0) printf(" ");
- if(points[8][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[8][flag] == 2) printf(" ");
- }
- }
- }
- if(num[i] == '9'){
- if(x == start_line){
- flag = 0;
- printf(" ");
- if(points[9][flag] == 1){
- for(int a = 0; a < s; a++) printf("-");
- }else for(int a = 0; a < s; a++) printf(" ");
- printf(" ");
- }
- else if(x > start_line && x < end_line) {
- for( flag = 1; flag < 4; flag++){
- if(points[9][flag] == 0){
- for(int a = 0; a < s; a++) printf(" ");
- }
- if(points[9][flag] == 2){
- if(x == half_line) printf(" ");
- else if (x > half_line && points[9][4] == 0){
- if(flag != 3) printf(" ");
- else if(flag == 3 && points[9][6] == 2) printf("|");
- }
- else{
- printf("|");
- }
- }
- if(points[9][flag] == 1){
- if(x == half_line) {
- for(int a = 0; a < s; a++) printf("-");
- }
- else for(int a = 0; a < s; a++) printf(" ");
- }
- }
- }
- else {
- for( flag = 4; flag < 7; flag++){
- if(points[9][flag] == 0) printf(" ");
- if(points[9][flag] == 1){
- for(int a = 0; a < s; a++)
- printf("-");
- }
- if(points[9][flag] == 2) printf(" ");
- }
- }
- }
- printf(" ");
- }
- printf("\n");
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement