Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2009, 22:31   #1
Svetlaya
Новичок
Джуниор
 
Регистрация: 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 и т. д.
Svetlaya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклический сдвиг строки матрицы 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