Форум программистов, компьютерный форум CyberForum.ru

Циклический сдвиг элементов матрицы вправо или вниз - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
ChuckNorris
2 / 2 / 0
Регистрация: 25.10.2012
Сообщений: 42
31.10.2012, 23:41     Циклический сдвиг элементов матрицы вправо или вниз #1
У меня есть прямоугольная матрица нужно сделать так чтобы можно било б делать циклический зсув элементов этой матрицы n элементов вправо или вниз(в зависимости от режима).

Например: у меня есть прямоугольная матрица:

-1 2 3 4 5
2 5 -3 7 1
0 4 9 1 -6

то циклический зсув элементов этой матрицы на 2 позиции вправо будет вигледит:

4 5 -1 2 3
7 1 2 5 -3
1 -6 0 4 9

А циклический зсув элементов этой матрицы на 2 позиции вниз будет вигледит:

2 5 -3 7 1
0 4 9 1 -6
-1 2 3 4 5

Важно: матрица должна быть написана через функции и также пользователь должен сам вибирать режим куда сунуть(вправо или вниз) и сам задавать на сколько елементов!

Вот код который генерирует произвольную матрицу:

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
#include<stdio.h>
#include<stdlib.h>
#include<ctime>
 
 
 
const int n=4, m=5;
void INP(int[][m]);
void OUT(int[][m]);
void main(){
    
    int a[n][m];
    INP(a);
    printf("Nasha matrix :\n");
    OUT(a);
    
}
void INP(int a[n][m]){
    srand(time(0));
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            a[i][j]=rand()%20-10;
}
void OUT(int a[n][m]){
    for(int i=0;i<n;i++){
        printf("\n");
      for(int j=0;j<m;j++)
          printf("%4d ",a[i][j]);}
    printf("\n");
}
Сюда нужно дописать циклический зсув. Код желательно на Visual С++
Помогите пожалуста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2012, 23:41     Циклический сдвиг элементов матрицы вправо или вниз
Посмотрите здесь:

C++ Циклический сдвиг элементов массива по диагонали влево вниз
Циклический сдвиг прямоугольной матрицы на n элементов вправо C++
C++ Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента.
C++ Осуществить циклический сдвиг элементов в мат-це на k элементов вправо или вниз (в зависимости от введенного режима). Число k может быть больше кол-ва
C++ Дано одномерный массив Х, размером 15 элементов. Провести циклический сдвиг элементов в массиве вправо на 2 позиции
C++ Ребят я не могу понять где ошибка (циклический сдвиг элементов массива вправо)
Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k – индекс максимального элемента C++
C++ Циклический сдвиг четных строк двумерного массива на k элементов вправо

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru