Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++]Работа с динамическим двумерным массивом


Автор: Alkion 21.5.2009, 01:20
Здравствуйте!
Помогите решить задачу. Вот она.

В матрице n-го порядка найти MAX среди элементов, лежащих ниже побочной диагонали, и MIN среди элементов, лежащих выше главной диагонали. Использовать двумерный динамический массив.

Буду очень благодарен... smile 
Спасибо!

Автор: likehood 21.5.2009, 09:31
Код

#include <iostream>

using namespace std;

int main()
{
    double **matr;
    int n;
    cout << "Enter n: ";
    cin >> n;
    matr = new double*[n];
    for (int i=0; i<n; i++)
        matr[i] = new double[n];

    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
            cin >> matr[i][j];

    double maxElement = matr[1][n-1];
    for (int i=2; i<n; i++)
        for (int j=n-i; j<n; j++)
            if (matr[i][j] > maxElement)
                maxElement = matr[i][j];

    double minElement = matr[n-2][n-1];
    for (int i=0; i<n-1; i++)
        for (int j=i+1; j<n; j++)
            if (matr[i][j] < minElement)
                minElement = matr[i][j];

    cout << "Max element = " << maxElement << "\n";
    cout << "Min element = " << minElement << "\n";

    for (int i=0; i<n; i++)
        delete[] matr[i];
    delete[] matr;

    return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)