Главная » 2015 » Март » 12 » матрицы. задача 8
09:24
матрицы. задача 8

#include <iostream>
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()
{
    int k=0;
    //a)
    setlocale(LC_ALL, "Russian");  
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            put(i,j)=sin(double(i)+double(j)/2);
    }
    cout <<"матрица А1:"<<endl;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
        {
            cout <<get(i,j)<<" ";
        }
        cout <<endl;
    }
    //поиск количества положитнльных элемента
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++) if (get(i,j)>0) k++;
    }
    cout <<"количество положительных ="<<k<<endl;
    cout <<endl;

    //b)
    setlocale(LC_ALL, "Russian");  
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            put(i,j)=cos(double(i)*double(i)+double(j)*n);
    }
    cout <<"матрица А2:"<<endl;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
        {
            cout <<get(i,j)<<" ";
        }
        cout <<endl;
    }
    //поиск количества положитнльных элемента
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++) if (get(i,j)>0) k++;
    }
    cout <<"количество положительных ="<<k<<endl;
    cout <<endl;

    //c)
    setlocale(LC_ALL, "Russian");  
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            put(i,j)=sin((double(i)*double(i)-double(j)*double(j))/n);
    }
    cout <<"матрица А3:"<<endl;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
        {
            cout <<get(i,j)<<" ";
        }
        cout <<endl;
    }
    //поиск количества положитнльных элемента
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++) if (get(i,j)>0) k++;
    }
    cout <<"количество положительных ="<<k<<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; 
        }
}

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