c++, решение задач с квадратными матрицами

Ответить
leenu
Сообщения: 2
Зарегистрирован: 24 окт 2010, 20:44

помогите решить задачи:

1) в квадратной матрице найти наибольший элемент левого верхнего треугольника, включая побочную диагональ.
2) в квадратной матрице найти сумму элементов правого нижнего треугольника, исключая побочную диагональ.
3)количество отрицательных элементов в правом верхнем треугольнике, включая главную диагональ.
4) количество нулей в левом нижнем треугольнике, исключая главную диагональ
5)сумма элементов на главной диагонали матрицы
6)минимальный элемент а побочной диагонали матрицы
chesser
Сообщения: 5
Зарегистрирован: 03 авг 2010, 11:07

leenu писал(а): 5)сумма элементов на главной диагонали матрицы

Код: Выделить всё

Summa=0;
for(i=0; i<N; i++)
 Summa+=A[i][i];
cout<<"Summa: "<<Summa<<endl;
leenu
Сообщения: 2
Зарегистрирован: 24 окт 2010, 20:44

chesser писал(а):

Код: Выделить всё

Summa=0;
for(i=0; i<N; i++)
 Summa+=A[i][i];
cout<<"Summa: "<<Summa<<endl;

спасибо! :) :) :) :)
Аватара пользователя
Sheka
Сообщения: 246
Зарегистрирован: 17 май 2009, 15:48
Контактная информация:

255507394.
Мои мысли настолько гениальны, что санитары уже приехали!
Ася 255507394.
budulaj88
Сообщения: 13
Зарегистрирован: 20 окт 2010, 17:28

В файл "main.txt" занеси такий варыант матриці:
1 15 9 7 6 3
-1 3 -2 -5 8 0
-5 4 3 3 2 1
3 3 2 5 -2 -1
0 0 0 -1 -1 4
-1 3 9 9 -15 3
код проги:

Код: Выделить всё

#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

int main()
{
    int rozmir = 6;//заданий-розмір-матриці-----------------------------------------
    double **mas = new double *[rozmir];
    for (int i = 0; i <= rozmir-1; i++) mas[i] = new double [rozmir];
    //Зчитка-матриці-з-файлу--------------------------------------------------------
    ifstream fin("main.txt");
    for (int i = 0; i <= rozmir-1; i++)
        for (int j = 0; j <= rozmir-1; j++)
            fin >> mas[i][j];
    fin.close();
    fin.clear();
    //------------------------------------------------------------------------------
    //Вивід-матриці-----------------------------------------------------------------
    for (int i = 0; i <= rozmir-1; i++)
    {
        for (int j = 0; j <= rozmir-1; j++)
            cout << setw(5) <<mas[i][j];
        cout << endl;
    }
    //------------------------------------------------------------------------------
    //1-----------------------------------------------------------------------------
    cout << "\n//-----1-----------------------------------"<<endl;
    double max = mas[0][0];
    for (int i = 0; i <= rozmir-1; i++)
        for (int j = 0; j <= rozmir-1-i; j++)
            if (max <= mas[i][j])
                max = mas[i][j];
    cout << "max = " << max <<endl;
    cout << "//-----------------------------------------"<<endl;
    //------------------------------------------------------------------------------
    //2-----------------------------------------------------------------------------
    cout << "\n//-----2-----------------------------------"<<endl;
    double sum = 0.0;
    for (int i = 0; i <= rozmir-1; i++)
        for (int j = rozmir-i; j <= rozmir-1; j++)
            sum+=mas[i][j];
    cout << "suma = " << sum << endl;
    cout << "//-----------------------------------------"<<endl;
    //------------------------------------------------------------------------------
    //3-----------------------------------------------------------------------------
    cout << "\n//-----3-----------------------------------"<<endl;
    int lich = 0;
    for (int i = 0; i <= rozmir-1; i++)
        for (int j =i  ;j<=rozmir-1; j++)
            if (mas[i][j] < 0) lich++;
    cout << "videmnyx = " << lich;
    cout << "\n//-----------------------------------------"<<endl;
    //------------------------------------------------------------------------------
    //4------------------------------------------------------------------------------
    cout << "\n//-----4-----------------------------------"<<endl;
    lich = 0;
    for (int i = 0; i <= rozmir-1; i++)
        for (int j =0  ;j<=rozmir-1-(rozmir-i); j++)
            if (mas[i][j] == 0) lich++;
    cout << "nuliv = " << lich;
    cout << "\n//-----------------------------------------"<<endl;
    //------------------------------------------------------------------------------
    //5-----------------------------------------------------------------------------
    cout << "\n//-----5-----------------------------------"<<endl;
    sum = 0.0;
    for (int i = 0; i <= rozmir-1; i++) sum += mas[i][i];
    cout << "suma diahonali = " << sum;
    cout << "\n//-----------------------------------------"<<endl;
    //------------------------------------------------------------------------------
    for (int i = rozmir-1; i >= 0; i--) delete [] mas[i];
    delete [] mas;
    return 0;
}
Ответить