| Код | #include <iostream>
using namespace std;
void InputMatrix( int* matrix, int dim ) //функция ввода матрицы размерности dim на dim { for( int i = 0; i < dim; i++ )//для каждой строки матрицы for( int j = 0; j < dim; j++ )//для каждого элемента строки cin >> matrix[ i * dim + j ];//читаем очередной элемент }
void PrintMatrix( const int* matrix, int dim ) //функция печати матрицы размерности dim на dim { for( int i = 0; i < dim; i++ )//для каждой строки матрицы { for( int j = 0; j < dim - 1; j++ )//для каждого элемента строи, кроме последнего cout << matrix[ i * dim + j ] << " ";//печать очередного элемента и пробел cout << matrix[ ( i + 1 ) * dim - 1 ] << endl;//печать последнего элемента с переводом строки } }
void Swap( int& a, int& b ) //функция обмена двух переменных { int temp = a;//запоминаем значение первой переменной a = b;//первой переменной присваиваем значение второй b = temp;//значениею второй переменной присваиваем ранее запомненное значение первой }
void SwapStrings( int* matrix, int dim, int strIndex1, int strIndex2 ) //функция обмена двух строк матрицы с индексами strIndex1, strIndex2 { for( int i = 0; i < dim; i++ )//для каждого элемента строки Swap( matrix[ strIndex1 * dim + i ], matrix[ strIndex2 * dim + i ] );//обмениваем значения соответствующих элементов строк }
int main() { int dim, strIndex1, strIndex2;//dim - размерность, strIndex1 и strIndex2 - индексы обмениваемых строк cout << "Vvedite razmernost matrici:" << endl; cin >> dim;//ввод размерности матрицы int* matrix = new int[ dim * dim ];//создаем массив для хранения значений элементов матрицы cout << "Vvedite matricu(" << dim << "x" << dim << "):" << endl; InputMatrix( matrix, dim );//ввод матрицы cout << "Vvedite indeks 1 stroki dlya obmena:" << endl; cin >> strIndex1;//ввод 1 индекса строки
cout << "Vvedite indeks 2 stroki dlya obmena:" << endl; cin >> strIndex2;//ввод 2 индекса строки cout << "Ishodnaya matrica:" << endl; PrintMatrix( matrix, dim );//печать исходной матрицы SwapStrings( matrix, dim, strIndex1, strIndex2 );//обмен строк матрицы cout << "Matrica posle obmena strok:" << endl; PrintMatrix( matrix, dim );//печать матрицы результата delete[] matrix;//удаляем массив return 0;//возвращаем результат }
|
|