В одномерном массиве в каждом нечетном числе поменять местами младший байт со старшим - C (СИ)

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

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

Здравствуйте всем Задача такая: В одномерном массиве в каждом нечетном числе поменять местами младший байт со старшим. Найти сумму чисел до и после замены.
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
int main()
{ printf(" MASSIV\n\n");
  int a[10], s = 0;
  textcolor(13);
  for(int i=0; i<10; i++)
  {
  a[i] = rand()%50;
  printf(" %d", a[i]);
  }
 
  for(int j=0; j<10; j++)
  if(a[j]%2 !=0)
  s=s+a[j];
  printf("\n\n S=%d\n",s);
  getchar();
  clrscr();
}
Тут показывает сам массив и считает сумму нечетных чисел до замены. Как дальше, помогите.

Решение задачи: «В одномерном массиве в каждом нечетном числе поменять местами младший байт со старшим»

textual
Листинг программы
a[j] = ((a[j] & 0xff) << 8) + ((a[j] & 0xff00) >> 8);//замена байтов

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

В данном коде выполняется замена младшего и старшего байтов в каждом нечетном элементе одногоерного массива. Пояснение шагов:

  1. a[j] - это элемент массива, который мы меняем.
  2. ((a[j] & 0xff) << 8) - это выражение, которое меняет местами младший и старший байты числа. Мы используем оператор сдвига << для сдвига младшего байта в старшую позицию, а затем используем оператор сдвига >> для сдвига старшего байта в младшую позицию.
  3. ((a[j] & 0xff00) >> 8) - это выражение, которое возвращает старший байт числа. Мы используем оператор сдвига >> для сдвига старшего байта в младшую позицию.
  4. a[j] = ((a[j] & 0xff) << 8) + ((a[j] & 0xff00) >> 8) - это строка кода, которая меняет местами младший и старший байты числа, присваивая результат обратно в переменную a[j]. В результате выполнения данного кода, в каждом нечетном элементе массива a младший байт будет заменен на старший, а старший байт будет заменен на младший.

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


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

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

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