Консультация № 119589
21.01.2008, 16:44
0.00 руб.
0 2 2
Уважаемые эксперты помогите пажалуста
Matrix98. Дана квадратная матрица A порядка M. Повернуть ее на угол 180° (при этом элемент A1,1 поменяется местами с AM,M, элемент A1,2 — с AM,M–1 и т. д.). Вспомогательную матрицу не использовать.

Обсуждение

Неизвестный
21.01.2008, 17:55
общий
это ответ
Здравствуйте, Razum89!
Решение смотрите в приложении

Приложение:
#include <cstdlib>#include <iostream>using namespace std;int main(){ int m, n, max=0, num=0, s; int **a; bool f; cin>>m; a=(int**) new int* [m]; for(int i=0; i<m; ++i) a[i]=new int [m]; srand(time(NULL)); for(int i=0; i<m; ++i) for(int j=0; j<m; j++) a[i][j]=rand()%100; for(int i=0; i<m; ++i){ for(int j=0; j<m; j++){ cout<<a[i][j]<<"\t"; } cout<<endl; } cout<<endl; for(int i=0; i<m/2; ++i){ for(int j=0; j<m; j++){ n=a[i][j]; a[i][j]=a[m-i-1][m-j-1]; a[m-i-1][m-j-1]=n; }} cout<<endl; for(int i=0; i<m; ++i){ for(int j=0; j<m; j++){ cout<<a[i][j]<<"\t"; } cout<<endl; } cout<<endl; system("PAUSE"); return 0;}
Неизвестный
22.01.2008, 00:50
общий
это ответ
Здравствуйте, Razum89!
у меня получился вот такой вариант

Приложение:
#include<iostream>#include<conio.h>#include<time.h>using namespace std;void main () { const int m=7; int A[m][m]; int temp; srand(time(NULL)); //Заполняем матрицу случайными числами и выводим её на экран for(int i=0; i<m; i++) { for(int j=0; j<m; j++) { A[i][j]=rand()%30; cout<<A[i][j]<<"\t"; } cout<<"\n"; } cout<<"\n\n"; //поворачиваем матрицу на угол 180 градусов for(int i=0; i<m; i++) { for(int j=0; j<m/2; j++) { temp=A[i][j]; A[i][j]=A[m-i-1][m-j-1]; A[m-i-1][m-j-1]=temp; } } //Выводим результат на экран for(int i=0; i<m; i++) { for(int j=0; j<m; j++) { cout<<A[i][j]<<"\t"; } cout<<"\n"; } getch();}
Форма ответа