
Вычислить среднее арифметическое положительных элементов матрицы, расположенных ниже побочной
диагонали. Задать двумерный массив размерности N*N (N вводится с клавиатуры) из целочисленных элементов, принадлежащих отрезку [-10;10]. Вычислить среднее арифметическое положительных элементов матрицы, расположенных ниже побочной диагонали. Вывести полученную матрицу в виде прямоугольной таблицы. Вывести указанные элементы. - С (СИ)

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

/* main program fucntion */void main(){ int iMatrSize, // size of the matrix iSum = 0, // sum of the nessesary elements of the matrix iCnt = 0, // number of the nessesary elements of the matrix **aMatr; // the matrix int i, j;
scanf_s("%i", &iMatrSize);
/* allocation memory for the array */ aMatr = (int**)malloc(sizeof(int) * iMatrSize); for (i = 0; i < iMatrSize; i++) { aMatr[i] = (int*)malloc(sizeof(int) * iMatrSize); }
/* filling in the array */ for (i = 0; i < iMatrSize; i++) for (j = 0; j < iMatrSize; j++) aMatr[i][j] = rand() % 21 - 10;
/* counting the sum of the elements */ for (i = 0; i < iMatrSize; i++) for (j = 0; j < iMatrSize - i - 1; j++) iSum += aMatr[i][j], iCnt++;
/* outputing the array */ for (i = 0; i < iMatrSize; i++) { for (j = 0; j < iMatrSize; j++) printf ("%3i ", aMatr[i][j]); printf("\n"); }
printf("Sum = %f\n", (float)iSum / iCnt);
_getch();} /* End of 'main' function */



Задача:
Вычислить среднее арифметическое положительных элементов матрицы, расположенных ниже побочной диагонали. Задать двумерный массив размерности N*N (N вводится с клавиатуры) из целочисленных элементов, принадлежащих отрезку [-10;10]. Вывести полученную матрицу в виде прямоугольной таблицы. Вывести указанные элементы.Решение:
Чтобы решить данную задачу, нам нужно выполнить следующие шаги:1. Получить размерность матрицы N от пользователя. 2. Задать двумерный массив размерности N*N и заполнить его случайными целочисленными значениями из интервала [-10, 10]. 3. Вычислить среднее арифметическое положительных элементов матрицы, расположенных ниже побочной диагонали. 4. Вывести полученную матрицу в виде прямоугольной таблицы. 5. Вывести среднее арифметическое положительных элементов.
Давайте выполним эти шаги по порядку.
Шаг 1: Получение размерности матрицы
Нам нужно запросить у пользователя размерность матрицы N. Для этого мы можем использовать функцию `input()` для ввода значения с клавиатуры:```python N = int(input("Введите размерность матрицы: ")) ```
Шаг 2: Заполнение матрицы случайными значениями
Для создания двумерного массива размерности N*N и заполнения его случайными целочисленными значениями из интервала [-10, 10], мы можем использовать модуль `random`:```python import random
matrix = [[random.randint(-10, 10) for _ in range(N)] for _ in range(N)] ```
Шаг 3: Вычисление среднего арифметического положительных элементов
Мы должны найти все положительные элементы, расположенные ниже побочной диагонали матрицы, и вычислить их среднее арифметическое. Для этого мы можем использовать следующий код:```python positive_elements = [] for i in range(N): for j in range(N): if i > j: element = matrix[i][j] if element > 0: positive_elements.append(element)
average = sum(positive_elements) / len(positive_elements) if positive_elements else 0 ```
Шаг 4: Вывод матрицы в виде прямоугольной таблицы
Для вывода матрицы в виде прямоугольной таблицы мы можем использовать циклы `for` и форматирование строк:```python for row in matrix: print(' '.join([str(element) for element in row])) ```
Шаг 5: Вывод среднего арифметического положительных элементов
Мы можем просто вывести значение переменной `average`:```python print("Среднее арифметическое положительных элементов:", average) ```
Вот полный код для решения данной задачи на языке Python:
```python import random
N = int(input("Введите размерность матрицы: "))
matrix = [[random.randint(-10, 10) for _ in range(N)] for _ in range(N)]
positive_elements = [] for i in range(N): for j in range(N): if i > j: element = matrix[i][j] if element > 0: positive_elements.append(element)
average = sum(positive_elements) / len(positive_elements) if positive_elements else 0
for row in matrix: print(' '.join([str(element) for element in row]))
print("Среднее арифметическое положительных элементов:", average) ```
Примечание: В приведенном коде мы использовали модуль `random` для генерации случайных чисел. Если вы хотите получать одинаковые результаты при каждом запуске программы, вы можете добавить следующую строку в начало программы:
```python random.seed(0) ```
Это связано с тем, что функция `random.randint()` генерирует случайные числа на основе некоторого начального значения, называемого "семенем" (seed). При использовании одного и того же семени, генератор случайных чисел будет генерировать одинаковую последовательность чисел.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili