Пример. Циклический сдвиг. При циклическом сдвиге (вправо) первый элемент переходит на место второго, второй на место третьего и т.д., а последний элемент - на место первого.

Для  выполнения  циклического  сдвига  нам  будет  нужна  временная  переменная  -  в  ней  мы сохраним   значение   последнего   элемента,   пока   будем   переставлять   остальные.   Обратите внимание,  что  мы  начинаем  с  конца  массива,  иначе  массив  просто  заполнится  первым элементом. Первый элемент ставится отдельно - копированием из временной переменной.

#include <stdio.h>

const N = 10;

void main()

{

int i, A[N], c;

// ввод массива A

c = A[N-1];

for ( i = N-1; i > 0; i -- )

A[i] = A[i-1];

A[0] = c;

printf("\n Результат:\n”);

for ( i = 0; i <N; i ++ )

printf("%d ", A[i]);

}



2009-12-19 • Просмотров [ 3586 ]