Вопрос задан 13.07.2023 в 05:06. Предмет Информатика. Спрашивает Коварж Таня.

Написать программу на С++ Даны две квадратные вещественные матрицы порядка 5х5 и 8х8. В каждой

матрице вычислить произведение элементов под главной диагональю и сумму элементов над главной диагональю. Использовать функции.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Тикеева Светлана.

Ответ:

#include <iostream>

#include <vector>

using namespace std;

float summatrix(vector < vector<float>>& v) {

float s=0;

for (int i = 0; i < v.size(); i++) {

 for (int j = 0; j < v[i].size(); j++) {

  if (j > i) s += v[i][j];

 }

}

return s;

}

float mulmatrix(vector < vector<float>>& v) {

float s = 1;

for (int i = 0; i < v.size(); i++) {

 for (int j = 0; j < v[i].size(); j++) {

  if (i > j) s *= v[i][j];

 }

}

return s;

}

int main()

{

 

//создадим матрицу 5 на 5 и заполним ее случайными числами

vector < vector<float>> v1(5,vector<float>(5));

for (auto& it1 : v1) {

 for (auto& it2 : it1) {

  it2 = float(rand()%100+1)/10.0;

 }

}

//создадим матрицу 8 на 8 и заполним ее случайными числами

vector < vector<float>> v2(8, vector<float>(8));

for (auto& it1 : v2) {

 for (auto& it2 : it1) {

  it2 = float(rand()%100+1) / 10.0;

 }

}

//Выведем матрицы на экран

for (auto& it1 : v1) {

 for (auto& it2 : it1) {

  cout << it2 << " ";

 }

 cout << endl;

}

cout << endl;

for (auto& it1 : v2) {

 for (auto& it2 : it1) {

  cout << it2 << " ";

 }

 cout << endl;

}

cout << endl;

cout << "sum v1=" << summatrix(v1)<<endl;

cout << "sum v2=" << summatrix(v2) << endl;

cout << "mul v1=" << mulmatrix(v1) << endl;

cout << "mul v2=" << mulmatrix(v2) << endl;

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи, мы можем создать функции для вычисления произведения элементов под главной диагональю и суммы элементов над главной диагональю в матрице. Затем, в основной программе, мы можем объявить и заполнить две матрицы и вызвать эти функции для каждой матрицы. Вот как может выглядеть C++ код для этой задачи:

cpp
#include <iostream> const int MATRIX_SIZE_5x5 = 5; const int MATRIX_SIZE_8x8 = 8; // Функция для вычисления произведения элементов под главной диагональю в матрице double calculateProductBelowDiagonal(double matrix[][MATRIX_SIZE_5x5], int size) { double product = 1.0; for (int i = 1; i < size; ++i) { for (int j = 0; j < i; ++j) { product *= matrix[i][j]; } } return product; } // Функция для вычисления суммы элементов над главной диагональю в матрице double calculateSumAboveDiagonal(double matrix[][MATRIX_SIZE_8x8], int size) { double sum = 0.0; for (int i = 0; i < size - 1; ++i) { for (int j = i + 1; j < size; ++j) { sum += matrix[i][j]; } } return sum; } int main() { // Создаем две матрицы 5x5 и 8x8 double matrix5x5[MATRIX_SIZE_5x5][MATRIX_SIZE_5x5]; double matrix8x8[MATRIX_SIZE_8x8][MATRIX_SIZE_8x8]; // Заполняем матрицы значениями (для примера) // Здесь можно добавить ввод значений с клавиатуры или из файла, если необходимо. // Ниже приведен пример для заполнения матриц случайными значениями. for (int i = 0; i < MATRIX_SIZE_5x5; ++i) { for (int j = 0; j < MATRIX_SIZE_5x5; ++j) { matrix5x5[i][j] = rand() % 10; // Заполняем случайными значениями от 0 до 9 } } for (int i = 0; i < MATRIX_SIZE_8x8; ++i) { for (int j = 0; j < MATRIX_SIZE_8x8; ++j) { matrix8x8[i][j] = rand() % 10; // Заполняем случайными значениями от 0 до 9 } } // Вычисляем произведение элементов под главной диагональю и сумму элементов над главной диагональю double product_5x5 = calculateProductBelowDiagonal(matrix5x5, MATRIX_SIZE_5x5); double sum_8x8 = calculateSumAboveDiagonal(matrix8x8, MATRIX_SIZE_8x8); // Выводим результаты на экран std::cout << "Произведение элементов под главной диагональю 5x5 матрицы: " << product_5x5 << std::endl; std::cout << "Сумма элементов над главной диагональю 8x8 матрицы: " << sum_8x8 << std::endl; return 0; }

Обратите внимание, что в приведенном коде матрицы заполняются случайными значениями от 0 до 9. Вы можете изменить эту часть кода и вводить значения с клавиатуры или из файла, если вам нужны конкретные матрицы.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос