void fillRandomMatrix(int m, int n, int **matrix);
//
int findMaxColumn(int m, int n, int **matrix);
int findMinInColumn(int m, int n, int **matrix, int col);
void outputMatrix(int m, int n, int **matrix);
void freeMemory(int m, int n, int **matrix);
int main()
{
srand(time(NULL));
int m, n, maxColumn, minElement;
int **matrix;
matrix = 0;
m = n = 6;
allocMemory(m, n, matrix);
fillRandomMatrix(m, n, matrix);
outputMatrix(m, n, matrix);
maxColumn = findMaxColumn(m, n, matrix);
minElement = findMinInColumn(m, n, matrix, maxColumn);
cout << "Maximal column: " << maxColumn << ", minimal element: " << minElement << "\n";
freeMemory(m, n, matrix);
return 0;
}
void allocMemory(int m, int n, int **&matrix)
{
int i;
matrix = new int*[m];
for (i = 0; i < m; i++) {
matrix[i] = new int[n];
}
}
void fillRandomMatrix(int m, int n, int **matrix)
{
int i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
matrix[i][j] = rand() % 30;
}
}
}
int findMaxColumn(int m, int n, int **matrix)
{
int maxCol;
int cursum, sum;
int i, j;
sum = 0;
maxCol = 0;
for (j = 1; j < n; j++) {
cursum = 0;
for (i = 0; i < m; i++) {
cursum += (matrix[i][j] < 0)? -matrix[i][j]: matrix[i][j];
}
if (cursum > sum) {
sum = cursum;
maxCol = j;
}
}
return maxCol;
}
int findMinInColumn(int m, int n, int **matrix, int col)
{
int i, mi;
mi = 0;
for (i = 1; i < m; i++) {
if (matrix[i][col] < matrix[mi][col]) {
mi = i;
}
}
return mi;
}
void outputMatrix(int m, int n, int **matrix)
{
int i, j;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
cout<< setw(6)<< matrix[i][j] << ' ';
}
cout << '\n';
}
}
void freeMemory(int m, int n, int **matrix)
{
int i;
for (i = 0; i < m; i++) {
delete[] matrix[i];
}
delete[] matrix;
}
. maxColumn = findMaxColumn(m, n, matrix).
int, , . maxColumn .
maxCol, , cursum, sum . , maxCol.
|
|
, , .
cursum += (matrix[i][j] < 0)? -matrix[i][j]: matrix[i][j];
. .
cursum -matrix[i][j], , matrix[i][j] . cursum, , .
, ,
minElement = findMinInColumn(m, n, matrix, maxColumn)
. , minElement. , . , .
.
, - , .
F m ×n -20 20. . . . . . | |
R n×n. -50 +50. . , . . . . , . . | |
m×n -25 75. . . . . . . . | |
D m×m -10 15. . . . . . | |
m×n 0 90. . , . . , 5, . | |
Q m×n -20 65. . . . . , k- . | |
Q m×m -30 65. . . . , . . | |
m×n -20 90. . . . k- . . , . . | |
R n×n. -50 +50. . , . . . . , . . | |
P n×n. -50 +80. . . . . . . | |
Q m×n -20 80. . , , . . , . . | |
Q m×n -60 65. . , , . . . . | |
m×n 25 75. . 5. 5 0 . . . | |
n ×n -20 25. . . . . | |
n ×n -50 50. . , . . . . | |
V m ×n -90 65. . . . k . . |
|
|
|
|
1) ? ? .
2) ? ? .
3) ? .
4) .
7
: .
:
1) / .
2) , .
3) , .