Здравствуйте! В университете начали изучать подпрограммы, пока не могу толком в них разобраться. Есть матрица размерностью MxN.Необходимо из этой матрицы сделать транспортированную. Выходящие данные нужно вводить с клавиатуры, помогите с кодом. Пробовал с матрицами, у которых задан размер, всё выходит, а вот что нужно изменить чтобы размер матрицы и её элементы можно было вводить с клавиатуры, не знаю. Помогите(( Вот исходник:
#include <iostream>
#include <iomanip>
using namespace std;
const int size1 = 4;
const int size2 = 4;
void print(int[][size2]);
int main()
{
int array[size1][size2] =
{ { 1,2,3,4 },
{5, 6, 8, 7 },
{9, 10, 11, 12},
{13,14,15,16}};
int temp;
cout << "Ishodnaya matrica: " << endl << endl;
print(array);
cout << endl;
for (int i = 0; i < size1; i++)
{
for (int j = i; j < size2; j++)
{
temp = array[i][j];
array[i][j] = array[j][i];
array[j][i] = temp;
}
}
cout << "Transponirovannaya matrica: " << endl << endl;
print(array);
cout << endl;
cout << "Transponirovannaya matrica: " << endl << endl;
cout << endl;
}
void print(int array[][size2])
{
for (int i = 0; i < size1; i++)
{
for (int j = 0; j < size2; j++)
{
cout << setw(2) <<
array[i][j] << " ";
}
cout << endl << endl;
}
system("pause");
}
Нужно использовать динамические массивы. Например, вместо вашего статического массива
int array[size1][size2]
нужно использовать динамический массив, который можно создать так:
int** array = new int*[size1];
for(int i = 0; i < size1; ++i) array[i] = new int[size2];
Также необходимо поменять прототип функции print. Вместо
void print(int array[][size2])
написать
void print(int ** array, int size1, int size2)
Так как массив теперь динамический то его тип не int[][size2] ,а int**. И размерность массива лучше передавать в функцию как параметр, а не использовать глобальную переменную, как это было у Вас.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Помогите решить этот пример: y=cos(1+cos(2+
Добрый вечер! Что нужно прописать в поле "аргументы команды", что бы сменить путь на какую нибудь директорию, находящуюся внутри проект и что...
Как можно в с++ без использования функции Sleep(1000) подождать одну секунду, а если конкретнее - эту секунду высчитать без заморозки интерфейса