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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача(Вычисление произведения элементов массива)
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Женский

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


Помогите пожалуйста с задачей.....
Решить:
1) С использованием подпрограммы-функции
2)С использованием подпрограммы-процедуры


Исходные данные вводятся с клавиатуры и с использованием генератора случайных чисел.Выбор способа получения исходных данных осуществляется с использованием меню после запуска программы на выполнение.

Задача(Вычисление произведения элементов массива) :

Заданы массивы а={A1 , ... , An} , b={B1 , ... , Bm} и числа n и m.
Определить

n
П Ai , при А1>B1;
i=1

m
П Bi ,при A1<B1;
i=1

k
П (Ai+Bi) , при A1=B1 и k=min{n,m}.
i=1


(это все что написано выше система, т.е. C={и три строчки,которые вы видите выше)................
Помогите, пожалуйста. Заранее спасибо!!!!!


--------------------
.........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts......
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Переписываешь Reform так:
procedure Reform(m1 : a; m2 : b; var p: integer);
var
i,j : byte;
k:integer;
begin
p:=1;
if m1[1]>m2[1] then
for i:=1 to n do p:=p*m1[i]
else if m1[1]<m2[1] then
for j:=1 to m do p:=p*m2[i]
else begin
k:=n;
if m<k then k:=m;
for i:=1 to k do p:=p*(m1[i]+m2[i]);
end;
writeln('Sdelano. Podtverdit i vivesti...');
readln;
end;

и вызываешь так:
      case z of
1 : Input(m1, m2);
2 : InputRnd(m1, m2);
3 : Print(m1, m2);
4 : Reform(m1, m2, p); { <--- Вот так !!! }
end;


В остальном проблем быть не должно, компиляцию программа проходит...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Женский

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


Да, она запускается..........и все бы ничего, но почему-то второй массив m2 выводится всегда состоящий только из нулей, а после Reform при нажатии Print должно выводится значение произведения 'p' но оно не выводится, вместо него только массив m1 и весь из нулей m2.......
Помогите, в чем ошибка?


--------------------
.........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts......
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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