Как перевернуть столбцы в матрице, есть прога которая переворачивает строки, что в ней изменить, уже долго думаю сижу и пытаюсь.. .Замена a(i)(j) на a(j)(i) не помогает! ! Может я как то не так делаю?? ?Помогите пожалуйста, срочно нужно! !
вот прога: http://pastebin.com/SsiNyFLU
с уважением!
Другие языки программирования и технологии
C++. Перевернуть столбцы в матрице!
#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");
}
#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");
}
Похожие вопросы
- Как поменять местами столбцы в матрице. C++
- В чем ошибка? Помогите разобраться! (программа на С++: добавление столбца в матрицу)
- C++ Как найти сумму и произведение элементов K - го столбца данной матрицы?
- c++. нужно нарисовать такую матрицу.
- Заполнить матрицу из 7 строк и 7 столбцов случайными числами в интервале [10;90]
- Си# Найти седловые точки матрицы седловой точкой называется элемент, являющийся миним в строке и максим в столбце
- В каждом столбце матрицы найти наибольшую группу подряд идущих элементов, образующих арифметическую прогрессию c++
- кто может сделать прогу в C++ которая поменяет местами в каждом столбце минимальный и максимальные элементы в матрице??
- дана матрица а размерности n на m. Найти максимальный элемент в каждом столбце. Помогите пожалуйста решить. На языке C++
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .