Главная » 2015 » Апрель » 2 » функции. max и min на главной диагонали
08:39
функции. max и min на главной диагонали

#include <iostream>
using namespace std;
void vvod (double **x, int n, int m);
void vivod (double **x, int n, int m);
double max (double **x, int n, int m);
double min (double **x, int n, int m);
int main()
{
    setlocale(LC_ALL, "Russian");  
    int n,m;
    cout << "Введите размер матрицы [n x m]: ";
    cin >> n >> m;

    // выделение памяти
    double **a;
    a=new double *[n];
    for (int i=0;i<n;i++) 
        a[i]=new double [m];

    // ввод матрицы
    vvod(a,n,m);
    // вывод матрицы
    vivod(a,n,m);
    // max на главной диагонали
    cout <<"Max="<<max(a,m,n)<<endl;
    // min на главной диагонали
    cout <<"Min="<<min(a,m,n)<<endl;

    //Освобождение памяти
    for (int i=0;i<n;i++) 
        delete []a[i];
    delete []a;

    system("pause");
    return 0;
}

void vvod (double **x, int n, int m)
{
    // заполнение матрицы случайными числами
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
        {
            x[i][j]=rand()%10;
        }
}
void vivod (double **x, int n, int m)
{
    cout << "Матрица A:"<<endl;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            cout <<x[i][j]<<" ";
        cout <<endl;
    }
}
double max (double **x, int n, int m)
{
    double temp=x[0][0];
    for (int i=0;i<n;i++)
        if (x[i][i]>temp)
            temp=x[i][i];
    return temp;
}
double min (double **x, int n, int m)
{
    double temp=x[0][0];
    for (int i=0;i<n;i++)
        if (x[i][i]<temp)
            temp=x[i][i];
    return temp;
}

Просмотров: 476 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar