Другие языки программирования и технологии

C++. Перевернуть столбцы в матрице!

Как перевернуть столбцы в матрице, есть прога которая переворачивает строки, что в ней изменить, уже долго думаю сижу и пытаюсь.. .Замена a(i)(j) на a(j)(i) не помогает! ! Может я как то не так делаю?? ?Помогите пожалуйста, срочно нужно! !
вот прога: http://pastebin.com/SsiNyFLU
с уважением!
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
#include <tchar.h>

using namespace std;

int * rotate (int * stroka, int n)
{
for(int i = 0, mem1; i < n/2; i++)
{
mem1 = stroka[ i ];
stroka[ i ] = stroka[n - i - 1];
stroka[n - i - 1] = mem1;
}
return stroka;
}

int main() {

setlocale (0,"");

cout << "Лабораторная 4.2.\n\tПеревернуть все четные столбцы матрицы. " << endl << endl;

_01:

int n; cout << "Введите размеры матрицы: "; cin >> n; cout << endl; // Считываем с клавиатуры n.

if (n<=1) { cout << "Не корректный размер матрицы. Введите размер матрицы заново! " << endl << endl; goto _01; } // Защита от дурака.

srand(time(NULL)); // Инициализируем генератор случайных чисел.

int **a = new int* [ n ]; // Создаем массив указателей.

for (int i=0; i < n; i++) { a[ i ] = new int [n]; } // Создаем элементы и работаем как с обычным массивом.
int u=1;

for (int i=0; i < n; i++)
{
for (int j=0; j < n; j++)
{
a[j][ i ] = rand() % 100; // Каждый элемент случайному числу от 0 до 99.
cout << a[j][ i ] << " "; // Вывести элементы на экран.
}
cout << endl;
}

cout << endl << "Матрица после переворота столбцов: " << endl << endl;
for (int i=0; i < n; i++)
if(i%2 != 0) a[ i ] = rotate (a[ i ], n);

for (int i=0; i < n; i++)
{
for (int j=0; j < n; j++)
{
cout << a[j][ i ] << " "; // Вывести элементы на экран.
}
cout << endl;
}

// Пауза после выполнения программы //

cout << endl; system("pause");

}
Нурдаулет Батырбек
Нурдаулет Батырбек
76 473
Лучший ответ

Похожие вопросы