Осуществить циклический сдвиг элементов массива вправо на k позиций - C (СИ)
Формулировка задачи:
Помогите решить пожалуйста задачи на си... Не могу получить зачет поймите люди!!
Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента.
Решение задачи: «Осуществить циклический сдвиг элементов массива вправо на k позиций»
textual
Листинг программы
#include <stdio.h> #include <conio.h> int main(void) { #define N 7 int Mas[N],i=0,k=0,Mas2[N],max,l; for (i = 0; i < N; ++i) { printf("\nEnter <%d> number:",i+1); scanf("%d",&Mas[i]); } max=Mas[0]; for (i = 1; i < N; ++i) { if(Mas[i]>max) { max=Mas[i]; k=i; } } printf("\n"); for(i=0;i<N;i++) { Mas2[i]=Mas[i]; printf("%d ",Mas[i]); } for (i = 0; i < k; i++) { Mas[i]=Mas2[i+N-k]; } for (i = k; i < N; i++) { Mas[i]=Mas2[i-k]; } printf("\n"); for(i=0;i<N;i++) { printf("%d ",Mas[i]); } _getch(); return 0; }
Объяснение кода листинга программы
В этом коде осуществляется циклический сдвиг элементов массива вправо на k позиций. Вот список действий, которые происходят в коде:
- Объявление переменных:
Mas[N]
- массив, в который считываются числа;i=0
- счётчик для цикла, в котором считываются числа;k=0
- счётчик для определения, на сколько позиций нужно сдвинуть элементы;Mas2[N]
- вспомогательный массив, в который сохраняются элементы изMas[i]
;max
- переменная для хранения максимального числа;l
- переменная для хранения индекса максимального числа.
- Заполнение массива
Mas[i]
числами с помощью цикла и функцииscanf()
. - Поиск максимального числа в массиве
Mas[i]
с помощью цикла и сравнения чисел. При нахождении большего числа оно сохраняется вmax
, а его индекс - вl
. - Вывод на экран текущего состояния массива
Mas[i]
. - Заполнение вспомогательного массива
Mas2[i]
элементами изMas[i]
. - Сдвиг элементов массива
Mas[i]
вправо наk
позиций с помощью двух циклов:- Цикл
for (i = 0; i < k; i++)
сдвигает элементы, начиная с начала массива. - Цикл
for (i = k; i < N; i++)
сдвигает элементы, начиная с позиции, следующей за последним элементом.
- Цикл
- Вывод на экран нового состояния массива
Mas[i]
. - Завершение работы программы с помощью функции
_getch()
иreturn 0;
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д