6 / 5 / 4
Регистрация: 14.01.2017
Сообщений: 292
1

Реализовать циклический сдвиг двумерного массива вправо на 1 деление

19.05.2017, 23:59. Показов 4249. Ответов 1
Метки нет (Все метки)

Дан двумерный массив из n строк и m столбцов. Произведите циклический сдвиг этого массива вправо на один элемент. При этом последний элемент строки №1 должен стать первым элементом строки №2, последний элемент строки №2 должен стать первым элементом строки №3, ..., последний элемент строки №n должен стать первым элементом строки №1.

Обратите внимание, что в задаче нужно написать функцию для сдвига.

Формат входных данных

На первой строке даны целые числа n и m (1 ≤ n, m ≤ 20) — количество строк и столбцов в массиве. В следующей строке заданы целые числа, не превосходящие 2^30 по абсолютной величине.
Формат выходных данных

Требуется вывести модифициованный массив.
Пример:
3 4
0 2 6 1
9 3 8 7
5 6 2 3
---------
3 0 2 6
1 9 3 8
7 5 6 2
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2017, 23:59
Ответы с готовыми решениями:

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

Циклический сдвиг четных строк двумерного массива на k элементов вправо
Помогите, как организовать циклический сдвиг на k элементов вправо? #include <iostream>...

Реализовать циклический сдвиг вправо
Вот собственно мой код: #include "pch.h" #include <iostream> #include "conio.h" #include...

Реализовать функцию, которая осуществляет циклический побитовый сдвиг вправо на n позиций
Реализовать функцию, которая осуществляет циклический побитовый сдвиг вправо на n позиций. При...

1
Просто Лис
Эксперт Python
4603 / 2983 / 957
Регистрация: 17.05.2012
Сообщений: 8,720
Записей в блоге: 9
20.05.2017, 11:21 2
Лучший ответ Сообщение было отмечено ARTER616 как решение

Решение

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
#include <stdio.h>
 
int main() {
    const size_t n=3, m=4;
    int a[n][m] = {
        0, 2, 6, 1,
        9, 3, 8, 7,
        5, 6, 2, 3
    };
    int *a2 = (int*)a;
 
    int b[n][m];
    int *b2 = (int*)b;
 
    b2[0] = a2[n*m-1];
    for (size_t i=1;i<n*m;i++){
        b2[i] = a2[i-1];
    }
 
    for (size_t i=0;i<n;i++){
        for (size_t j=0;j<m;j++){
            printf("%d ", b[i][j]);
        }
        printf("\n");
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2017, 11:21
Помогаю со студенческими работами здесь

Циклический сдвиг массива вправо
дан двумерный массив MxN нужно осуществить поэлементный сдвиг вправо на 1 элемент

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

Циклический сдвиг массива влево и вправо
Нужно реализовать циклический сдвиг массива влево и вправо! Например есть массив int- {121605}?...

Рекурсия: циклический сдвиг массива вправо
дана такая задача (Напишите рекурсивную функцию, которая принимает двухмерный массив целых чисел...


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

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

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