Консультация № 180985
28.11.2010, 05:19
0.00 руб.
0 2 1
Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:

Вычислить произведение элементов матрицы D, больших 2.

Dab=ln/xa3(3 степень)+SINyb/
Xa={0.75;-3.1;1}
Yb={5.1;0;3.7}
Найти наибольший элемент матрицы

Зарание благодарю Вас, уважаемые эксперты!

Обсуждение

Неизвестный
28.11.2010, 12:02
общий
Что-то очень непонятно написали условие задачи. Может в виде рисунка оформить?
давно
Академик
320937
2216
28.11.2010, 12:37
общий
это ответ
Здравствуйте, Скачков Антон Юрьевич! G++/Code::Blocks;
Код:
/* 180985
Дано:
Dab=ln/xa3(3 степень)+SINyb/
Xa={0.75;-3.1;1}
Yb={5.1;0;3.7}

Найти:
- произведение элементов матрицы D, больших 2.
- наибольший элемент матрицы */

#include <stdio.h>
#include <math.h>
int main(void)
{
enum {m=3, n=3};
double X[m] = {0.75, -3.1, 1.0};
double Y[n] = {5.1, 0, 3.7};
double D[m][n];
int a, b;
double max; /* наибольший элемент матрицы D */
double p; /* произведение элементов матрицы D, больших 2 */
int has_element; /* флаг, содержит элемент, больший двух */

/* Заполнение матрицы D */
for (a=0; a<m; a++)
for (b=0; b<n; b++)
D[a][b] = log(fabs(pow(X[a],3)+sin(Y[b])));

/* Печать матрицы D */
printf("Матрица D\n");
for (a=0; a<m; a++)
{
for (b=0; b<n; b++)
printf("%8.4f", D[a][b]);
printf("\n");
}

/* Произведение элементов матрицы, больших 2 */
for (a=0, has_element=0, p=1.0; a<m; a++)
for (b=0; b<n; b++)
if (D[a][b]>2)
{
p*=D[a][b];
if (has_element == 0)
has_element = 1;
}

(has_element==1)?
printf("Произведение элементов матрицы D, больших 2, p=%7.4f\n", p):
printf("Нет элементов матрицы D, больших 2\n");

/* Наибольший элемент матрицы */
for (a=0, max=D[0][0]; a<m; a++)
for (b=0; b<n; b++)
if (D[a][b]>max)
max = D[a][b];

printf("Наибольший элемент матрицы D, max=%7.4f\n", max);
return 0;
}
Вывод
Код:
Матрица D
-0.6853 -0.8630 -2.2260
3.4248 3.3942 3.4118
-2.6012 0.0000 -0.7547
Произведение элементов матрицы D, больших 2, p=39.6609
Наибольший элемент матрицы D, max= 3.4248

Если требуются пояснения, задавайте вопросы в мини-форуме.
Форма ответа