Задача(Вычисление произведения элементов массива) |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача(Вычисление произведения элементов массива) |
Depression period |
Сообщение
#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...... |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
с помощью процедуры думаю сможешь сдеалть сам. Цитата сможешь сдеалть сам. klem4, ОНА девушка! :rose: Сообщение отредактировано: Altair - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Depression period |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 25 Пол: Женский Репутация: 0 |
я сделала эту задачу методом функции...........наконец-то как говорится........но методом процедуры у меня не получается..........у меня вообще туго с процедурой.......ПОМОГИТЕ пожалуйста, у меня в понедельник зачет........... !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-------------------- .........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts...... |
klem4 |
Сообщение
#4
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
1) Меняешь function на procedure
2) Добавляешь в параметры передаваемые процедуре var переменную в которую будешь записывать результатб который возвращала бы функция пример
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Depression period |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 25 Пол: Женский Репутация: 0 |
..............спасибо........ .............я постараюсь сделать..........
-------------------- .........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts...... |
Depression period |
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 25 Пол: Женский Репутация: 0 |
ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!!!!!!
Я постаралась и попробовала сделать эту задачу методом процедур, но комп выдает какие-то ошибки, исправьте, пожалуйста.........Мне очень нужно, эта задача последняя, а последний раз сдачи зачета в четверг.................... ПОЖАЛУЙСТА......... решение ниже.......... Код uses Sysutils; const n=7; m=5; type a = array[1..n] of integer; b = array[1..m] of integer; procedure Input(var m1 : a; m2 : b); var i : byte; begin for i := 1 to n do begin write('m[',i,']='); readln(m1[i]); end; writeln; begin for i := 1 to m do begin write('m[',i,']='); readln(m2[i]); end; writeln; end; end; procedure InputRnd(var m1 : a; m2 : b); const rnd = 100; var i: byte; begin randomize; for i := 1 to n do m1[i] := random(rnd); randomize; for i:=1 to m do m2[i] := random(rnd); writeln('Ishodniy massiv'); end; procedure Print(m1 : a; m2 : b); var i : byte; begin for i := 1 to n do begin writeln; write(m1[i]:3,' '); end; writeln; readln; for i := 1 to m do begin writeln; write(m2[i]:3,' '); end; writeln; readln; end; procedure Reform(var m1 : a; m2 : b); var i,j : byte; p,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; var m1 : a; m2 : b; p:integer; z : byte; begin repeat writeln('1 - Input '); writeln('2 - Input RND'); writeln('3 - Print'); writeln('4 - Reform'); writeln('5 - Quit'); readln(z); case z of 1 : Input(m1, m2); 2 : InputRnd(m1, m2); 3 : Print(m1, m2); 4 : Reform(p); end; until z=5; end. -------------------- .........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts...... |
volvo |
Сообщение
#7
|
Гость |
Переписываешь Reform так:
procedure Reform(m1 : a; m2 : b; var p: integer); и вызываешь так: case z of В остальном проблем быть не должно, компиляцию программа проходит... |
Depression period |
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 25 Пол: Женский Репутация: 0 |
Да, она запускается..........и все бы ничего, но почему-то второй массив m2 выводится всегда состоящий только из нулей, а после Reform при нажатии Print должно выводится значение произведения 'p' но оно не выводится, вместо него только массив m1 и весь из нулей m2.......
Помогите, в чем ошибка? -------------------- .........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts...... |
volvo |
Сообщение
#9
|
Гость |
Цитата а после Reform при нажатии Print должно выводится значение произведения 'p' но оно не выводится Ха... Молодец. То есть ДО Reform процедура Print должна выводить одно, а ПОСЛЕ - другое? Ну, так ты ж должна была это объяснить... Покажи мне, ГДЕ ты это объясняла выше? Телепатов ждешь? Ну, жди... Вопросы задавать не научишься - будешь все время получать "некорректные" с твоей точки зрения ответы... |
volvo |
Сообщение
#10
|
Гость |
P.S. Чтобы матрица M2 не была нулевой:
procedure Input(var m1 : a; VAR m2 : b); |
Depression period |
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 25 Пол: Женский Репутация: 0 |
Цитата Ха... Молодец. То есть ДО Reform процедура Print должна выводить одно, а ПОСЛЕ - другое? Ну, так ты ж должна была это объяснить... Покажи мне, ГДЕ ты это объясняла выше? Телепатов ждешь? Ну, жди... ну я поняла........извини.....Я подумала, что было очевидно: нужно найти 'p' и мы делаем это в Reform, значит после Reform Print должен выводить именно 'p'......... Так что я должна исправить, чтобы было именно так, а не иначе?.........можешь подсказать? -------------------- .........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts...... |
Depression period |
Сообщение
#12
|
Новичок Группа: Пользователи Сообщений: 25 Пол: Женский Репутация: 0 |
..............хм-хм....................полный игнор...................будто я спрашиваю какие-то космические вещи.............................
-------------------- .........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts...... |
Текстовая версия | 11.05.2024 12:38 |