Предмет: Информатика, автор: CKyTepucT

Помогите с программой на C++

Приложения:

Veter0k: что такое след?
contrlc: сумма элементов главной диагонали

Ответы

Автор ответа: contrlc
1
#include <iostream>

using namespace std;

int main()
{
    setlocale(LC_ALL,"rus");
    bool flag = true;
    float matrix[4][4];
    float trace, mult;
    mult = 1;

    cout << "Введите матрицу 4x4:\n";
     for (int i = 0; i < 4; i++)
        for(int j = 0; j < 4; j++)
        {
            cin >> matrix[i][j];
            if(matrix[i][j] < 0)
             {
                 mult *= matrix[i][j];
                 flag = false;
             }
            if(i == j) trace += matrix[i][j];
        }
    if(flag) cout << "След матрицы = " << trace << endl << "В матрице нет отрицательных цисел";
    else cout << "След матрицы = " << trace << endl << "Произведение отрицательных чисел матрицы = " << mult;
    return 0;
}
Автор ответа: clinteastwood2
1
Мой вариант
#include <iostream>
#include <vector>
using namespace std;
const unsigned N = 4;  

int main()
{
      vector<vector<int>> matr(N, vector<int>(N, 5));
      unsigned sum = 0;
      double mul      = 1.0;
      for (unsigned i = 0, j = 0; i < N; ++i) {
          if (j < N) sum += matr[i][j++];
          for (unsigned u = 0; u < N; ++u)
 
              if (matr[i][u] < 0) mul *= matr[i][u];
      }
      cout << sum << endl;
      mul != 1 ? cout << mul : cout << "There are no negative numbers in the matrix"            <<  endl;
      return 0;
}
След (сумма эл. главной диагонали) у меня выводит и произвидение отрицательных чисел. 

contrlc: Тут же нужно было вычислить след и произведение отрицательных элементов?
clinteastwood2: Блин об отрицательных элементах забыл, ненавижу когда задание кидают картинкой, тогда вроде запомнил задание, а из головы в итоге вылетело..
Похожие вопросы