16.01.2013, 13:40. Просмотров 260. Ответов 0
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 <iostream>
using namespace std;
#include <math.h>
#include <conio.h>
#include <windows.h>
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
const int n=3,m=4;
int mas[n][m],i,j,k,mas1[n][m],p=0;
cout << "Введите массив:\n ";
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cin>>mas[i][j];
cout << "Введите количество сдвигов: ";
cin >> k;
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
mas1[i][(j+k)%(n+1)] = mas[i][j];
for (i=0; i<n; i++)//вывод res
{ cout << "\n";
for (j=0; j<m;j++)
cout<<mas1[i][j] << " ";
}
_getch();
return 0;
} |
|
Тут работающий код сдвига эл-в матрицы вправо на н эл-в.
Как его правильно переделать в сдвиг вниз на н эл-в?
Я так понимаю, изменить надо одни цикл всего:
C++ |
1
2
3
| for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
mas1[i][(j+k)%(n+1)] = mas[i][j]; |
|
Подскажите как? А то у мня получается , почти.Он смещает все эл-ты кроме 1 строчки, она становиться равной -8********.
Добавлено через 35 минут
Все спасибо, не надо. Я сам справился