Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int** load_matrix(int n, int m);
- void print_matrix(int n, int m, int** matrix);
- void free_matrix(int n, int** matrix);
- int* get_row(int m, int row, int** matrix);
- int* get_column(int n, int column, int** matrix);
- int min_element_column(int size, int* row);
- int sum_of_positive_column(int size, int* column);
- int main(int argc, char* argv[])
- {
- int n, m, k;
- cout << "Enter n, m: ";
- cin >> n >> m;
- int** matrix = load_matrix(n, m);
- cout << "Matrix: " << endl;
- print_matrix(n, m, matrix);
- cout << endl;
- cout << "Enter k: ";
- cin >> k;
- int* row = get_row(m, k, matrix);
- int min_ind_column = min_element_column(m, row);
- int *column = get_column(n, min_ind_column, matrix);
- int sum = sum_of_positive_column(n, column);
- cout << endl;
- cout << "Result: " << sum;
- free_matrix(n, matrix);
- delete row;
- delete column;
- return 0;
- }
- int** load_matrix(int n, int m)
- {
- int** result = new int*[n];
- ifstream file("Matrix.txt");
- for (int i = 0; i < n; i++)
- {
- result[i] = new int[m];
- for (int j = 0; j < m; j++)
- file >> result[i][j];
- }
- return result;
- }
- void print_matrix(int n, int m, int** matrix)
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- cout << matrix[i][j] << " ";
- cout << endl;
- }
- }
- void free_matrix(int n, int** matrix)
- {
- for (int i = 0; i < n; i++)
- delete matrix[i];
- delete matrix;
- }
- int* get_row(int m, int row, int** matrix)
- {
- int* result = new int[m];
- for (int i = 0; i < m; i++)
- result[i] = matrix[row][i];
- return result;
- }
- int* get_column(int n, int column, int** matrix)
- {
- int* result = new int[n];
- for (int i = 0; i < n; i++)
- result[i] = matrix[i][column];
- return result;
- }
- int min_element_column(int size, int* row)
- {
- int min = row[0];
- int min_ind = 0;
- for (int i = 1; i < size; i++)
- {
- if (min > row[i])
- {
- min = row[i];
- min_ind = i;
- }
- }
- return min_ind;
- }
- int sum_of_positive_column(int size, int* column)
- {
- int result = 0;
- for (int i = 0; i < size; i++)
- if (column[i] > 0)
- result += column[i];
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment