Главная » 2015 » Март » 24 » матрицы. задача 13 a) b) c) d) e)
11:04
матрицы. задача 13 a) b) c) d) e)

#include <iostream>
#include <ctime>
using namespace std;
double &put(int i, int j); 
double get(int i, int j);     
const int n=5, m=7;
double a[n][m];
double error = -1;
int main()
{
    setlocale(LC_ALL, "Russian");  
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            put(i,j)=rand()%10;
    }
    cout <<"матрица А1:"<<endl;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
        {
            cout <<get(i,j)<<" ";
        }
        cout <<endl;
    }
    cout <<endl;
    
    cout <<"a) нахождение сумм элементов строк"<<endl;
    double s;
    for (int i=0;i<n;i++)
    {
        s=0;
        for (int j=0;j<m;j++)
        {
            s+=get(i,j);
        }
        cout <<i<<" строка, сумма элементов = "<<s<<endl;
    }
    cout <<endl;
    
    cout <<"b) нахождение произведения элементов строк"<<endl;
    double p;
    for (int i=0;i<n;i++)
    {
        p=1;
        for (int j=0;j<m;j++)
        {
            p*=get(i,j);
        }
        cout <<i<<" строка, произведение элементов = "<<p<<endl;
    }
    cout <<endl;

    cout <<"c) нахождение наименьшего элемента строк"<<endl;
    double min;
    for (int i=0;i<n;i++)
    {
        min=get(i,0);
        for (int j=0;j<m;j++)
        {
            if (get(i,j)<min) min=get(i,j);
        }
        cout <<i<<" строка, минимальный элемент строки = "<<min<<endl;
    }
    cout <<endl;

    cout <<"d) нахождение средних арифметических элементов строк"<<endl;
    double sr;
    for (int i=0;i<n;i++)
    {
        sr=0;
        for (int j=0;j<m;j++)
        {
            sr+=get(i,j);
        }
        cout <<i<<" строка, среднее арифметическое строки = "<<sr/m<<endl;
    }
    cout <<endl;

    cout <<"e) нахождение разности между наибольшим и наименьшим элементами строки"<<endl;
    double max;
    for (int i=0;i<n;i++)
    {
        max=get(i,0);
        min=get(i,0);
        for (int j=0;j<m;j++)
        {
            if (get(i,j)<min) min=get(i,j);
            if (get(i,j)>max) max=get(i,j);
        }
        cout <<i<<" строка, разность между наибольшим и наименьшим элементами строки = "<<max-min<<endl;
    }
    cout <<endl;

    system("pause");
    return 0;
}

double &put(int i, int j)
{
    if((i>=0) && (i<n) && (j>=0) && (j<m))
        return a[i][j]; 
        else
        {
            cout << "Ошибка нарушения границ!\n";
            return error; 
        }
}

double get(int i, int j)
{
    if((i>=0) && (i<n) && (j>=0) && (j<m))
        return a[i][j]; 
        else 
        {
            cout << "Ошибка нарушения границ!\n";
            return error; 
        }
}

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