IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> задача на 3-х мерные массивы
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


пожалуйста, помогите решить программу:


Написать функцию, которая вычисляет количество и сумму элементов трехмерного массива X, лежащих в интервале [p,q]. C помощью подпрограммы вычислить количество и сумму элементов массивов A(5,6,4), B(3,8,2) и С(6,6,10), лежащих в интервале [0,5]. Элементы массивов рассчитываются по формулам: Aijk=kcos(j+4)+esin(i),
Bijk =kcos(3.2j+4.2)+esin(1.5i), Cijk =kcos(12.4j+1)+esin(i+2.82).

я условие не понимаю... blink.gif

Сообщение отредактировано: :-)~ -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Что именно ты не понимаешь?

Есть три трехмерных массива. Их значения определены формулами. Например, чтобы узнать значение ячейки (6, 6, 10) в массиве С нужно подставить i = 6, j = 6, k = 10 в формулу kcos(12.4j+1)+esin(i+2.82).

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

Элементы, для которых проверка выполнилось, тебе нужно посчитать и просуммировать.

Что именно не понятно?

P.S. поменяй, пожалуйста, заголовок темы на более информативный.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


всмысле так:

function mass(s:double):double;
var
kol:byte;
e:double;
i,j,k:byte;
a:array[1..10,1..10,1..10]of double;
b:array[1..10,1..10,1..10]of double;
c:array[1..10,1..10,1..10]of double;
begin
e:=2.7;
s:=0;
k:=0;
for i:=1 to 5 do
for j:=1 to 6 do
for k:=1 to 4 do
begin
a[i,j,k]:=k*cos(j+4)+e*sin(i);
if (a[i,j,k]>=0)and(a[i,j,k]<=5) then
s:=s+a[i,j,k];
inc(kol);
end;
for i:=1 to 3 do
for j:=1 to 8 do
for k:=1 to 2 do
begin
b[i,j,k]:=k*cos(3.2*j+4.2)+e*sin(1.5*i);
if (b[i,j,k]>=0)and(b[i,j,k]<=5) then
s:=s+b[i,j,k];
inc(kol);
end;
for i:=1 to 6 do
for j:=1 to 6 do
for k:=1 to 10 do
begin
c[i,j,k]:=k*cos(12.4*j+1)+e*sin(i+2.82);
if (c[i,j,k]>=0)and(c[i,j,k]<=5) then
s:=s+c[i,j,k];
inc(kol);
end;

writeln('koli4estvo:',k);
result:=s;
end;

var
s:double;
begin
s:=mass(s);
write('symma:',s:4:4);readln;
end.






???????????

Сообщение отредактировано: :-)~ -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Не совсем... Тебе скорее всего надо в функции найти сумму и количество элементов ОДНОГО массива, а саму функцию вызывать 3 раза, с разными параметрами...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 1.12.2020 19:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name