Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

квадратная матрица 3х3 (класс)

80K
20 февраля 2012 года
bublichek
2 / / 20.02.2012
Помогите создать программу на C# котороя реализует:
задать массив объектов класса "Квадратная матрица 3х3". И среди n объектов найти номер матрици с наиболее суммой элементов на главной диагонале (след).

пожалуйста помогите...
316
20 февраля 2012 года
Alm3n
889 / / 29.05.2009
В чём помощь должна заключаться-то?
9.2K
21 февраля 2012 года
dmitriy_gdv
22 / / 01.06.2006
Как так в чём? В том что программу написать для него ...
67K
23 марта 2012 года
NoXCode
64 / / 11.03.2012
Код:
class Matrix3x3
{
public:
    Matrix3x3() { m_ppn = NULL; this->Init(); };
    Matrix3x3(const int matrix[3][3]);
    Matrix3x3& operator=(const int matrix[3][3])
    {
        for (int i = 0; i < 3; i++)
            for (int k = 0; k < 3; k++)
                m_ppn[i][k] = matrix[i][k];

        return *this;
    };

protected:
    void Init()
    {
        int** ppn = new int*[3];
        for (int i = 0; i < 3; i++)
        {
            ppn[i] = new int[3];
            memset((void*)ppn[i], 0x00, sizeof(int) * 3);
        }
   
        if (ppn != NULL)
            this->m_ppn = ppn;
    };

public:
    int Diagonal()
    {
        int s = 0;
        for (int k = 0; k < 3; k++)
            s+=m_ppn[k][k];
        return s;
    }

protected:
    int** m_ppn;
};

int main(int argc, char* argv[])
{
    int n[7][3][3] = { { { 3, 5, 7 },
                         { 1, 2, 7 },
                         { 9, 5, 4 } },
                       
                       { { 1, 2, 3 },
                         { 4, 5, 6 },
                         { 7, 8, 9 } },
                       
                       { { 9, 8, 7 },
                         { 6, 7, 4 },
                         { 3, 2, 1 } },

                       { { 1, 1, 1 },
                         { 1, 1, 1 },
                         { 1, 1, 1 } },
                       
                       { { 2, 2, 2 },
                         { 2, 2, 2 },
                         { 2, 2, 2 } },
                       
                       { { 9, 3, 3 },
                         { 3, 9, 3 },
                         { 3, 3, 9 } },
                       
                       { { 4, 4, 4 },
                         { 4, 4, 4 },
                         { 4, 4, 4 } } };
   
    Matrix3x3* pMatrix = new Matrix3x3[7];
    for (int i = 0; i < 7; i++)
        pMatrix[i] = n[i];

    int iMax = 0, iMatrix = 0;
    for (int i = 0; i < 7; i++)
    {
        int nSum = 0;
        if ((nSum = pMatrix[i].Diagonal()) > iMax)
          { iMax = nSum; iMatrix = i; };
    }

    printf("%d\n",iMatrix);

    return 0;
}

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог