Вопрос задан 06.07.2023 в 05:44. Предмет Информатика. Спрашивает Свешникова Елизавета.

Дано двумерный массив n * m элементов. Найти сумму элементов главной диагонали. Нужно сделать в

виде С ++ и виде функции
0 0
Перейти к ответам

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

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

#include <iostream>

#include <ctime>

using namespace std;

void randMas(int **a, int n, int m)

{

   srand(time(0));

   for(int i=0; i<n; i++)

       for(int j=0; j<m; j++)

           a[i][j] = rand() %10 + 1;

}

int sumItemOnMain(int **a, int n, int m)

{

   int p,sum = 0;

   if (n<m)

       p=n;

   else

       p=m;

       

   for(int i; i<p; i++)

       sum+=a[i][i];

       

   return sum;

}

int main()

{

   int n,m,sum;

   cin>>n>>m;

   int** Mas = new int *[n];

   for (int i = 0; i < n; i++)

       Mas[i] = new int [m];

       

   randMas(Mas,n,m);

   sum = sumItemOnMain(Mas,n,m);

   cout<<sum;

   return 0;

}


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

Конечно, вот пример кода на C++, который решает задачу суммирования элементов главной диагонали двумерного массива:

cpp
#include <iostream> // Функция для нахождения суммы элементов главной диагонали int sumMainDiagonal(int** matrix, int n, int m) { int sum = 0; for (int i = 0; i < std::min(n, m); ++i) { sum += matrix[i][i]; } return sum; } int main() { int n, m; std::cout << "Введите количество строк: "; std::cin >> n; std::cout << "Введите количество столбцов: "; std::cin >> m; // Создание двумерного массива int** matrix = new int*[n]; for (int i = 0; i < n; ++i) { matrix[i] = new int[m]; for (int j = 0; j < m; ++j) { std::cout << "Введите элемент [" << i << "][" << j << "]: "; std::cin >> matrix[i][j]; } } // Вызов функции для нахождения суммы элементов главной диагонали int diagonalSum = sumMainDiagonal(matrix, n, m); std::cout << "Сумма элементов главной диагонали: " << diagonalSum << std::endl; // Освобождение памяти for (int i = 0; i < n; ++i) { delete[] matrix[i]; } delete[] matrix; return 0; }

Обратите внимание, что код создает двумерный массив и запрашивает у пользователя ввод элементов. Затем используется функция sumMainDiagonal для нахождения суммы элементов главной диагонали. Наконец, память, выделенная для массива, освобождается.

Запустите этот код в среде разработки C++, чтобы увидеть результат выполнения.

0 0

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

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

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

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