Здравствуйте, гость ( Вход | Регистрация )
| AntiSanta |
1.11.2012, 19:46
Сообщение
#1
|
|
Новичок ![]() Группа: Продвинутые Сообщений: 7 Регистрация: 1.11.2012 Город: Питер Учебное заведение: OmskSpecial #666 |
Помогите, пожалуйста, составить программу на Паскале: вычисляет произведение отрицательных компонентов одномерного массива, при помощи рекурсии в функции.
Вот мой вариант, но он неработоспособный: program p1; uses crt; type Mas=array [1..20] of integer; var i,n,p:integer; a:Mas; procedure vvod; begin for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; end; function pot(i:integer;a:Mas):integer; begin if a[i]=0 then pot:=1 else if a[i]<0 then pot:=a[i]*pot(i-1,a); end; Begin clrscr; readln(n); vvod; for i:=1 to n do p:=pot(i,a); writeln(p); readkey; End. При выполнении моего алгоритма результат - не соответствует действительности, т.е. алгоритм где-то не доработан. Заранее благодарю Вас! |
AntiSanta Рекурсия и элементы массива 1.11.2012, 19:46
граф Монте-Кристо 1. В программе не нужно вызывать pot в цикле - зач... 1.11.2012, 23:32
AntiSanta
1. В программе не нужно вызывать pot в цикле - за... 2.11.2012, 6:40![]() ![]() |
|
Текстовая версия | Сейчас: 19.4.2026, 23:06 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru