Главная » 2015 » Март » 26 » методичка 6. задача 24 a) b) c) d) e)
08:50
методичка 6. задача 24 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=4, m=n;
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++)
            cin >> put(i,j);
    }
    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;
    
    bool flag;

    cout <<"a) номера строк, где все элементы которых — нули"<<endl;
    for (int i=0;i<n;i++)
    {
        flag=true;
        for (int j=0;j<m;j++)
        {
            if (get(i,j)!=0) 
                {
                    flag=false; 
                    break;
                }
        }
        if (flag) cout <<i<<" ";
    }
    cout <<endl;
    
    
    cout <<"b) номера строк, где элементы в каждой из которых одинаковы"<<endl;
    for (int i=0;i<n;i++)
    {
        flag=true;
        for (int j=0;j<m-1;j++)
        {
            if (get(i,j)!=get(i,j+1)) 
                {
                    flag=false; 
                    break;
                }
        }
        if (flag) cout <<i<<" ";
    }
    cout <<endl;


    cout <<"c) номера строк, где все элементы которых чётны"<<endl;
    for (int i=0;i<n;i++)
    {
        flag=true;
        for (int j=0;j<m;j++)
        {
            if ((int)get(i,j) %2 !=0) 
                {
                    flag=false; 
                    break;
                }
        }
        if (flag) cout <<i<<" ";
    }
    cout <<endl;

    
    cout <<"d) номера строк, где элементы каждой из которых образуют возрастающую последовательность"<<endl;
    for (int i=0;i<n;i++)
    {
        flag=true;
        for (int j=0;j<m-1;j++)
        {
            if (get(i,j)>=get(i,j+1)) 
                {
                    flag=false; 
                    break;
                }
        }
        if (flag) cout <<i<<" ";
    }    
    cout <<endl;

    
    cout <<"e) номера строк, где элементы которых образуют симметричные последовательности"<<endl;
    for (int i=0;i<n;i++)
    {
        flag=true;
        for (int j=0;j<m/2;j++)
        {
            if (get(i,j)!=get(i,m-j-1)) 
                {
                    flag=false; 
                    break;
                }
        }
        if (flag) cout <<i<<" ";
    }
    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; 
        }
}

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