0 / 0 / 0
Регистрация: 04.04.2018
Сообщений: 23
1

Циклы: циклический сдвиг массива вправо

19.04.2018, 22:30. Показов 1908. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Начал изучать язык Си . Не могу понять как " Циклически сдвинуть элементы массива вправо ( 0-1 эемент становится 1-м , 1-й становится 2-м , .... , последний становится 0-м, то есть масcив {3, 5, 7, 9}превращается в массив {9, 3, 5, 7})





C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#define NM 1000
 
 
int main()
{
    int a[NM]; 
    int i, temp, j,  n;
    printf("Введите число элементов массива N:");
    scanf("%d", &n);
    if (n > NM)
    {
        printf("исходный массив :\n");
        printf("Количество элементов превышает допустимое \n ");
        return 0; // Выход из программы 
    }
// вывод исходного массива 
   printf("исходный массив : \n");
   for (i = 0; i < n; i++)
   {
       printf("a[%d] =", i);
       scanf("%d", &a[i]);
}
     for (i = 0; i < n-1; i++)
   {
      a[i+1]=a[i];
      
      
      printf(" %d ", a[i]);
}
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2018, 22:30
Ответы с готовыми решениями:

Циклический сдвиг массива вправо
Дано натуральное n.Далее n целых чисел.Сделать циклический сдвиг массива вправо. Ввод:5 -1 -1 3 2...

Циклический сдвиг массива вправо на число k
Помогите написать программу для лабораторной по си. В задании написано, что нужно использовать...

Осуществить циклический сдвиг элементов массива вправо на k позиций
Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k –...

Осуществить циклический сдвиг элементов массива вправо на k позиций
Помогите решить пожалуйста задачи на си... Не могу получить зачет поймите люди!! Дан массив...

7
Заблокирован
20.04.2018, 10:24 2
C
1
2
3
4
5
6
7
int x;
......
x=a[n-1];
for (i = 0; i < n-1; i++)
   a[i+1]=a[i];
a[0]=x;
....
0
0 / 0 / 0
Регистрация: 04.04.2018
Сообщений: 23
20.04.2018, 21:58  [ТС] 3
Попробывал ваш способ , но к сожалению не работает
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#define NM 1000
 
 
int main()
{
    int a[NM]; 
    int i, temp, x,  n;
    printf("Введите число элементов массива N:");
    scanf("%d", &n);
    if (n > NM)
    {
        printf("исходный массив \n");
        printf("Количество элементов превышает допустимое \n ");
        return 0; 
    }
 
   printf("исходный массив : \n");
   for (i = 0; i < n; i++)
   {
       printf("a[%d] =", i);
       scanf("%d", &a[i]);
}
    printf("Вывод смещенного массива\n");
    x = a[n-1];
     for (i = 0; i < n-1; i++)
     a[i+1]=a[i];
     a[0] = x;
      
      
      printf(" %d ", a[i]);
}
0
Заблокирован
21.04.2018, 10:11 4
нормально работает, а результат сдвига на экран вывести?
C
1
2
3
........
for (i = 0; i < n; i++)
  printf(" %d ", a[i]);
0
0 / 0 / 0
Регистрация: 04.04.2018
Сообщений: 23
21.04.2018, 17:36  [ТС] 5
Сдвиг происходит , последний элемент становится первым, но дальше просто выводит 1 1 1 1 1,
Например : я вбиваю 1 3 5 7 9
у меня выводит 9 1 1 1 1
0
3 / 3 / 3
Регистрация: 02.03.2015
Сообщений: 40
21.04.2018, 17:41 6
что за книга ? здание дай
0
0 / 0 / 0
Регистрация: 04.04.2018
Сообщений: 23
21.04.2018, 17:50  [ТС] 7
Циклически сдвинуть элементы массива вправо ( 0-1 эемент становится 1-м , 1-й становится 2-м , .... , последний становится 0-м, то есть масcив {3, 5, 7, 9}превращается в массив {9, 3, 5, 7})


Это задание из лабораторной работы . Книгу не знаю
0
Заблокирован
22.04.2018, 14:51 8
C
1
2
3
for (i = n-1; i; i--)
   a[i]=a[i-1];
a[0]=x;
0
22.04.2018, 14:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2018, 14:51
Помогаю со студенческими работами здесь

Осуществить циклический сдвиг элементов массива вправо на несколько позиций
есть задача &quot;Дан массив A. Осуществить циклический сдвиг элементов массива вправо на k позиций, где...

Функция: циклический сдвиг на n позиций вправо элементов целочисленного массива
Описать функцию, осуществляющую циклический сдвиг на n позиций вправо элементов целочисленного...

Осуществить циклический сдвиг элементов массива вправо на одну позицию
Дан массив размера N.Осуществить циклический сдвиг элементов массива вправо на одну позицию. ...

Массивы, условные операторы, оператор Switch: циклический сдвиг массива на K < N элементов вправо
Здравствуйте, добрый вечер Мне нужно создать код C, но у меня есть много трудностей в понимании...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru