Консультация № 110268
20.11.2007, 12:20
0.00 руб.
0 2 2
Здравствуйте,помогите пожалуйса сделать задание,я сделал функцию ввода,а вот с выводом никак разобраться не могу.вот сама задача:"Составить программу, которая получает матрицу В размером m *n. Программа формирует новую матрицу, меняя местами элементы строки с номером i на элементы строки с номером j исходной матрицы В."
зарание спасибо.

Обсуждение

Неизвестный
21.11.2007, 04:13
общий
это ответ
Здравствуйте, Arias!
Попробуйте такой вариант решения вашей задачи... Ввод начальной матрицы автоматический, номера строк для замены вводятся вручную.

Приложение:
#include <stdlib.h>#include <time.h>#include <vector>#include <iostream>using namespace std;int main(int argc, char* argv[]) { const int n = 5; const int m = 7; vector<vector<int> > B; int r_limit = 100; srand((unsigned) time(NULL)); for(int i=0; i<n; i++) { vector<int> v; for(int j=0; j<m; j++) v.push_back(rand()%r_limit); B.push_back(v); } cout << "Matrix B:" << endl; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) cout << B[i][j] << "\t"; cout << endl; } int row_1, row_2; cout << "Input index first row:" << endl; cin >> row_1; cout << "Input index second row:" << endl; cin >> row_2; swap(B[row_1], B[row_2]); cout << endl << "Modified matrix B:" << endl; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) cout << B[i][j] << "\t"; cout << endl; } return 0;}
Неизвестный
21.11.2007, 05:40
общий
это ответ
Здравствуйте, Arias!
B - исходный массив m*n, A - выходной массив n*m

Приложение:
for (int i = 0; i < m; i++){ for (int j = 0; j < n; j++) A[j][i]=B[i][j];}
Форма ответа