Изменить вывод программы - C (СИ)
Формулировка задачи:
Переделать чтоб выводило Pavel.
#include <stdio.h> #include <conio.h> main(){ int i,j,k,n;int B[6][5]; static char s[]="Mama"; char c; for (n=0;(c=s[n])!='\0';n++) switch (c){ case 'm':case 'M':case 'м': case 'М':B[n][0]=B[n][4]=0177; B[n][1]=B[n][3]=02; B[n][2]=04; break; case 'a':case 'A':case 'а': case 'А':B[n][0]=B[n][4]=0174; B[n][1]=B[n][3]=022; B[n][2]=021; break; } for (k=0;k<7;k++){ for(i=0;i<n;i++) {j=0; do { if(B[i][j] &01) printf("%c",s[i]); else printf("%c",' '); B[i][j]=B[i][j]>>1; j++; } while(j<5); printf("%s"," "); } printf("\n"); } getch(); return 0; }
Решение задачи: «Изменить вывод программы»
textual
Листинг программы
#include <stdio.h> #include <conio.h> main(){ int i,j,k,n;int B[10][5]; static char s[]="Pavel"; char c; for (n=0;(c=s[n])!='\0';n++) switch (c){ case 'A':case 'a':case 'ГЂ': case 'Г*': B[n][0]=B[n][4]=0174; B[n][1]=B[n][3]=022; B[n][2]=021; break; case 'E':case 'e':case 'Г…': case 'ГҐ': B[n][0]=0177; B[n][1]=B[n][2]=B[n][3]=0111; B[n][4]=0101; break; case 'L':case 'l':case 'Г‹': case 'Г«': B[n][0]=B[n][4]=0174; B[n][1]=B[n][3]=002; B[n][2]=01; break; case 'P':case 'p':case 'ГЏ': case 'ГЇ': B[n][0]=B[n][4]=0177; B[n][1]=B[n][2]=B[n][3]=01; break; case 'V':case 'v':case 'Г‚': case 'Гў': B[n][0]=0177; B[n][1]=B[n][2]=B[n][3]=0111; B[n][4]=066; break; } for (k=0;k<7;k++){ for(i=0;i<n;i++){ j=0; do{ if(B[i][j] &01) printf("%c",s[i]); else printf("%c",' '); B[i][j]=B[i][j]>>1; j++; }while(j<5); printf("%s"," "); } printf("\n"); } getch(); return 0; }
Объяснение кода листинга программы
- Объявлены следующие переменные: i, j, k, n, B[10][5], s[], c, static char s[]=
Pavel
. - Происходит циклическое чтение символов из строки s[] и обработка каждого символа в соответствии с его case.
- При совпадении символа с одним из указанных значений (case 'A', 'a', 'ГЂ', 'Г*', 'E', 'e', 'Г…', 'ГҐ', 'L', 'l', 'Г‹', 'Г«', 'P', 'p', 'ГЏ', 'ГЇ', 'V', 'v', 'Г‚', 'Гў') выполняется соответствующий блок кода, который задает значения для массива B[].
- Значения массива B[] используются в цикле для вывода символов строки s[] с помощью функции printf().
- Выполняется цикл, который повторяется 7 раз (для каждой строки в массиве B[]), в котором значения массива B[] сдвигаются влево на 1 позицию (B[i][j] = B[i][j] >> 1).
- В конце каждой строки выводится пробел.
- В конце программы вызывается функция getch() для ожидания нажатия клавиши и возврата 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д