Выполнить правый циклический сдвиг в сроке - C (СИ)

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

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

Описать функцию ShiftRight3(A, B, C), выполняющую правый циклический сдвиг: значение A переходит в B, значение B — в C, значение C — в A (A, B, C — вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры выполнить правый циклический сдвиг для двух данных наборов из трех чисел: (A1, B1, C1) и (A2, B2, C2).

Решение задачи: «Выполнить правый циклический сдвиг в сроке»

textual
Листинг программы
#include <stdio.h>
 
void ShiftRight3(float *a, float *b, float *c)
{
    float tmp = *a;
    *a = *c;
    *c = *b;
    *b = tmp;
}
 
int main()
{
    float A1 = 1., B1 = 2., C1 = 3.;
    float A2 = 7.5, B2 = -2.1, C2 = 3.33;
 
    printf("before: A1 = %f,\tB1 = %f,\tC1 = %f\n", A1, B1, C1);
    ShiftRight3(&A1, &B1, &C1);
    printf("after:  A1 = %f,\tB1 = %f,\tC1 = %f\n", A1, B1, C1);
 
    printf("before: A2 = %f,\tB2 = %f,\tC2 = %f\n", A2, B2, C2);
    ShiftRight3(&A2, &B2, &C2);
    printf("after:  A2 = %f,\tB2 = %f,\tC2 = %f\n", A2, B2, C2);
 
    return 0;
}

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

  1. В функции ShiftRight3 происходит циклический сдвиг элементов трех указателей на float: a, b и c.
  2. В функции main объявлены пять переменных типа float: A1, B1, C1, A2, B2, C2.
  3. Перед вызовом функции ShiftRight3 выводятся значения переменных A1, B1, C1 и A2, B2, C2.
  4. После вызова функции ShiftRight3 с использованием адресов переменных A1, B1, C1 значения переменных изменяются.
  5. Затем выводятся новые значения переменных A1, B1, C1 и A2, B2, C2.
  6. Значения переменных A2, B2, C2 также изменяются после вызова функции ShiftRight3, используя адреса переменных A2, B2, C2.
  7. В конце программы возвращается значение 0, что означает успешное выполнение программы.

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


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

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

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