![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 06.06.2009
Сообщений: 1
|
![]()
Помогите пожалуйста решить задачу.
Осуществить циклический сдвиг квадратной матрицы размерности NxN вправо на N элементов таким образом: элементы 1-й строки сдвигаются в последний столбец снизу вверх, из него - в последнюю строку справа налево, из нее - в первый столбец снизу вверх, из него - в первую строку; для остальных анологично. У мен получилось вот так: #include <iostream.h> #include <conio.h> #include <stdio.h> void main () { clrscr (); int i, j, n, p,z,k, temp, temp2, temp3; int a[20][20]; cout<<"Vvedite n "; cin>>n; //cout<<"Vvedite k "; //cin>>p; cout<<"Vvedite massiv"<<endl; for (i=0; i<n; i++) { for (j=0; j<n; j++) cin>>a[i][j]; } for (i=0; i<n; i++) { for (j=0; j<n; j++) cout<<" "<<a[i][j]; cout<<endl; } cout<<endl; for (i=0; i<n; i++) { for ( z=n-1; z>0; z--) { for ( j=i, temp=a[i][j]; j<n-1-i; j++) { temp2=a[i][j+1]; a[i][j+1]=temp; temp=temp2; } for (k=i+1; k<n-i; k++) { temp3=temp; temp=a[k][j]; a[k][j]=temp3; } for (j--, k--; j>=i; j--) { temp3=temp; temp=a[k][j]; a[k][j]=temp3; } for (j++, k--; k>=i; k--) { temp3=temp; temp=a[k][j]; a[k][j]=temp3; }}} for (i=0; i<n; i++) { for (j=0; j<n; j++) cout<<" "<<a[i][j]; cout<<endl; } getche (); } Подскажите как можно переделать программу, чтобы внутри сдвиг происходил уже не на N элементов, а на N-2 и т. д. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Циклический сдвиг строки матрицы | Alex1991 | Помощь студентам | 1 | 14.04.2009 21:20 |
циклический сдвиг массива | goacher | Общие вопросы C/C++ | 4 | 28.05.2008 20:11 |
циклический сдвиг массива | goacher | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 27.05.2008 22:26 |
Циклический сдвиг столбцов в массиве С++ Помогите! | Ладушка | Общие вопросы C/C++ | 10 | 01.05.2008 23:17 |