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

подправить двумерные массивы

22.05.2011, 14:25. Показов 371. Ответов 0
Метки нет (Все метки)

Осуществить циклический сдвиг элементов прямоугольной матрицы на N элементов вправо или вниз (в зависимости от введенного режима). N может быть больше количества элементов в строке или столбце.

у меня получается что сдвиг происходит влево и вверх, помогите исправить..

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
void sdvig(int nrow, int ncol);
 
int main()
{
    int nrow,ncol;
    cout<<"Vvedite kolvo ctrok i ctolbcov"<<endl;
    cin>>nrow;
    cin>>ncol; 
    sdvig(nrow,ncol);
    return 0;
}
 
void sdvig(int nrow, int ncol){
    int i,j,z,w,jnew,inew;
int **a=new int *[nrow]; 
for (i=0; i<nrow; i++) a[i]=new int[ncol];
cout<<"Vved elementi massiva"<<endl;
for (i=0; i<nrow; i++)
for (j=0; j<ncol; j++) cin>>a[i][j]; 
for (i=0; i<nrow; i++)
{
    for(j=0; j<ncol; j++) cout<<setw(2)<<a[i][j]<<"  ";
    cout<<endl;
}
 
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"Vvedite sdvig po stolbcam"<<endl;
    cin>>z;
 
cout<<"Vvedite sdvig po strocam"<<endl;
    cin>>w;
 
    for(i=0;i<nrow;i++)
    {
    for(j=0;j<ncol;j++)
    
    {   inew=(i + (w % nrow))%nrow;
        jnew=(j + (z % ncol))%ncol;
        cout<<setw(2)<<a[inew][jnew]<<"  ";
         
    } 
    cout<<endl; 
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2011, 14:25
Ответы с готовыми решениями:

Двумерные массивы
Привет всем! если есть у кого время, посмотрите что можно сделать, нужна ваша помощь! Сформировать...

Двумерные массивы
Помогите люди добрые:) Дана целочисленная прямоугольная матрица, определить: 1) Кол-во...

с++ двумерные массивы
с++ двумерные массивы, можете помочь написать код пожалуйста №1 Заполнить матрицу А(9,9), от...

Двумерные массивы
Ребята, помогите очень прошу! :с По массиву А(n,m) получить массив В(n) (типа boolean), присвоив...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2011, 14:25
Помогаю со студенческими работами здесь

Двумерные массивы
Никогда особо раньше не занимался программирование,больше как то математикой.И вот на первом курсе...

двумерные массивы
Составить программу обмена местами максимального и минимального элементов главной диогонали матрицы...

Двумерные массивы С++
Задано двумерные массив. Переставить s-й ряд на место k-го ( s &gt; k )

Двумерные массивы
#include &lt;iostream&gt; using namespace std; int main() { int n, m, s; int a; cin &gt;&gt; n &gt;&gt; m;...


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

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

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