Решить уравнение - C (СИ) (76833)
Формулировка задачи:
2a!x3+3(a+b)!=0
где a - количество положительных элементов, стоящих в матрице t(5,5) в столбцах с четными номерами;
b - количество положительных элементов, стоящих в матрице d(6,6) в столбцах с четными номерами.
Решение задачи: «Решить уравнение»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> #define SIZE_T 5 #define SIZE_D 6 double factorial(int op); int main(void) { int i, j; int a = 0; int b = 0; double x; int t[SIZE_T][SIZE_T] = { {1, 4, -5, 0, 7}, {4, 7, 8, -1, 2}, {1, 0, 4, 7, 4}, {3, -6, -8, 1, 5}, {2, -9, 5, 7, 8} }; int d[SIZE_D][SIZE_D] = { {3, 6, 9, 0, 5, -1}, {1, 6, 9, 8, 4, 0}, {1, 0, 5, -2, 8, 8}, {3, 8, 0, 6, -3, 7}, {4, 9, 4, 9, 7, 9}, {7, 0, 2, 8, -9, 5} }; /* Находим число a */ for (i = 0; i < SIZE_T; ++i) { for (j = 0; j < SIZE_T; ++j) { if (j % 2 != 0) { if (t[i][j] > 0) { ++a; } } } } /* Аналогично находим число b */ for (i = 0; i < SIZE_D; ++i) { for (j = 0; j < SIZE_D; ++j) { if (j % 2 != 0) { if (d[i][j] > 0) { ++b; } } } } x = -1 * ((factorial(a + b)) / (2 * factorial(a))); printf("%.2f\n", x); return EXIT_SUCCESS; } double factorial(int op) { double result = 1; if (op == 0) { return result; } while (op > 0) { result *= op; --op; } return result; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с I/O, математикой и стандартными функциями
- Определяем функцию
factorial
, которая вычисляет факториал числа - В функции
main
определяем переменныеi
,j
,a
,b
,x
и массивыt
иd
размеромSIZE_T
иSIZE_D
соответственно - Используем два вложенных цикла
for
для определения количества положительных элементов в массивахt
иd
и сохранения результатов в переменныеa
иb
соответственно - Вычисляем значение
x
используя формулу из условия задачи, гдеfactorial(a + b)
вычисляет факториал суммыa
иb
, а2 * factorial(a)
вычисляет факториал удвоенного значенияa
- Выводим значение
x
на экран - Возвращаем значение
EXIT_SUCCESS
в функцииmain
, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д