Вопрос задан 17.07.2023 в 00:22. Предмет Информатика. Спрашивает Сундеева Аня.

Дан массив размером n×n, элементы которого целые числа. Подсчитать среднее арифметическое ненулевых

элементов, расположенных над побочной диагональю. На языке Си Замечание. При решении задачи использовать двумерный массив. Главная диагональ квадратной матрицы — диагональ, которая проходит через верхний левый и нижний правый углы.
0 0
Перейти к ответам

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

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

Ответ:

#include <iostream>

using namespace std;

int main()

{

 

int n,kl=0;double sum = 0;

cin >> n;

int** a;

a= new int* [n];

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

 a[i] = new int[n];

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

{

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

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

}

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

{

 cout << endl;

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

  cout<<a[i][j]<<" ";

}

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

{

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

  if (a[i][j] != 0)

  {

   sum += a[i][j]; kl++;

  }

}

cout << endl << sum/kl;

}

Объяснение:

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

Приведенный ниже код на языке C решает задачу подсчета среднего арифметического ненулевых элементов, расположенных над побочной диагональю двумерного массива.

c
#include <stdio.h> float calculateAverage(int matrix[][n], int size) { int count = 0; int sum = 0; for (int i = 0; i < size; i++) { for (int j = size - i; j < size; j++) { if (matrix[i][j] != 0) { sum += matrix[i][j]; count++; } } } if (count > 0) { return (float) sum / count; } else { return 0.0; } } int main() { int n; printf("Enter the size of the square matrix: "); scanf("%d", &n); int matrix[n][n]; printf("Enter the elements of the matrix:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &matrix[i][j]); } } float average = calculateAverage(matrix, n); printf("The average of non-zero elements above the secondary diagonal is: %f\n", average); return 0; }

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

0 0

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

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

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

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