Выполнить правый циклический сдвиг в сроке - 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, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д