Выполнить правый циклический сдвиг в сроке - 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;
- }
Объяснение кода листинга программы
- В функции
ShiftRight3
происходит циклический сдвиг элементов трех указателей на float:a
,b
иc
. - В функции
main
объявлены пять переменных типа float:A1
,B1
,C1
,A2
,B2
,C2
. - Перед вызовом функции
ShiftRight3
выводятся значения переменныхA1
,B1
,C1
иA2
,B2
,C2
. - После вызова функции
ShiftRight3
с использованием адресов переменныхA1
,B1
,C1
значения переменных изменяются. - Затем выводятся новые значения переменных
A1
,B1
,C1
иA2
,B2
,C2
. - Значения переменных
A2
,B2
,C2
также изменяются после вызова функцииShiftRight3
, используя адреса переменныхA2
,B2
,C2
. - В конце программы возвращается значение 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д