void fillRandomMatrix(int m, int n, double **matrix);
void findMin(int m, int n, double **matrix, int &mi, int &mj);
void outputMatrix(int m, int n, double **matrix);
void freeMemory(int m, int n, double **matrix);
int main()
{
srand(time(NULL));
int m, n, i, j; //
double **matrix; //
matrix = 0;
m = 8;
cout << "input n: " << "\n";
cin >> n; //
allocMemory(m, n, matrix);
fillRandomMatrix(m, n, matrix);
outputMatrix(m, n, matrix);
findMin(m, n, matrix, i, j);
cout << "Maximal element: " << matrix[i][j]
<< " at (" << i << ", " << j << ")\n";
freeMemory(m, n, matrix);
return 0;
}
void allocMemory(int m, int n, double **&matrix)
{
int i;
matrix = new double*[m];
for (i = 0; i < m; i++) {
matrix[i] = new double[n];
}
}
void fillRandomMatrix(int m, int n, double **matrix)
{
int i, j,a;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
a = rand();
if (a) {
matrix[i][j] = rand() / (double)a;
//matrix[i][j] = rand() % 100;
}
}
}
}
void findMin(int m, int n, double **matrix, int &mi, int &mj)
{
int i, j;
mi = 0;
mj = 0;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
if (fabs(matrix[i][j]) > fabs(matrix[mi][mj])) {
mi = i;
mj = j;
}
}
}
}
void outputMatrix(int m, int n, double **matrix)
{
int i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
cout<< setw(10)<<setprecision(5) << matrix[i][j] << ' ';
}
cout << '\n';
}
}
void freeMemory(int m, int n, double **matrix)
{
int i;
for (i = 0; i < m; i++) {
delete[] matrix[i];
}
delete[] matrix;
}
- , , , .
main().
main()., m, n- , i, j . . matrix double, , . , 8, cin >> n. allocMemory(m, n, matrix);.
. , , . , . , . , , , .
|
|
, . matrix , .
. , .
fillRandomMatrix(m, n, matrix).
, .
, . outputMatrix(m, n, matrix).
.
, , , ,
findMin(m, n, matrix, i, j)
, - .
, , i, j .
, , .
.
freeMemory(m, n, matrix).
.
.
6. , . , .
/ 30
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
void allocMemory(int m, int n, int **&matrix);