Изменить вывод программы - 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;
}

Объяснение кода листинга программы

  1. Объявлены следующие переменные: i, j, k, n, B[10][5], s[], c, static char s[]=Pavel.
  2. Происходит циклическое чтение символов из строки s[] и обработка каждого символа в соответствии с его case.
  3. При совпадении символа с одним из указанных значений (case 'A', 'a', 'ГЂ', 'Г*', 'E', 'e', 'Г…', 'ГҐ', 'L', 'l', 'Г‹', 'Г«', 'P', 'p', 'ГЏ', 'ГЇ', 'V', 'v', 'Г‚', 'Гў') выполняется соответствующий блок кода, который задает значения для массива B[].
  4. Значения массива B[] используются в цикле для вывода символов строки s[] с помощью функции printf().
  5. Выполняется цикл, который повторяется 7 раз (для каждой строки в массиве B[]), в котором значения массива B[] сдвигаются влево на 1 позицию (B[i][j] = B[i][j] >> 1).
  6. В конце каждой строки выводится пробел.
  7. В конце программы вызывается функция getch() для ожидания нажатия клавиши и возврата 0, что означает успешное завершение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы