Каждый элемент массива А сдвинуть побитово с помощью функции coder - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Программа должна каждый элемент массива А, с помощью функции coder побитово сдвинуть, а результат записать в массив В и распечатать. Но она выдаёт начальную строку, с добавлением каких-то лишних символов. Функцию coder я проверял, она точно работает, что-то не так я делаю в цикле. Помогите пожалуйста.
#include <stdio.h>
#include <conio.h>
unsigned char coder (unsigned char);
struct BT
{
unsigned b0:1;
unsigned b2_6:6;
unsigned b7:1;
};
void main()
{
unsigned char ch, ch1;
unsigned char A[6]="Г*ГЎГўГЈГ¤",B[6];
int i;
printf ("%s",A);
A[6]='\0';
for (i=0;i='\0';i++)
{
A[i]=ch; //ch равняется i-тому элементу массива А
ch1=coder(ch); //ch1 равняется функции coder с параметром ch
ch1=B[i]; //получившийся в ch1 результат  записывается в i-тый элемент массива B
}
printf ("%s\n",B);
}
unsigned char coder (unsigned char x)
{
union
{
BT byte;
unsigned char y;
}z;
z.y=x;
if (z.byte.b7==0)
z.y<<=1;
else
{z.y<<=1;
z.byte.b0=1;}
return z.y;
}

Решение задачи: «Каждый элемент массива А сдвинуть побитово с помощью функции coder»

textual
Листинг программы
A[i]=ch; //ch равняется i-тому элементу массива А
ch1=coder(ch); //ch1 равняется функции coder с параметром ch
ch1=B[i]; //получившийся в ch1 результат  записывается в i-тый элемент массива B
}

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

В данном коде происходит сдвиг каждого элемента массива А с помощью функции coder. Список действий можно описать следующим образом:

  1. A[i] = ch; // элемент массива A с индексом i копируется в переменную ch
  2. ch1 = coder(ch); // переменная ch1 принимает значение, полученное от функции coder, с параметром ch
  3. ch1 = B[i]; // элемент массива B с индексом i копируется в переменную ch1 Таким образом, каждый элемент массива A сдвигается вправо на одну позицию, а результат записывается в соответствующий элемент массива B.

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


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

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

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