Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2014, 13:49   #1
нефтяник
Новичок
Джуниор
 
Регистрация: 02.04.2014
Сообщений: 3
По умолчанию Создание массива с помощью факториалов другого

Ребят, нужна помощь. Не могу решить задачу. Дан одномерный массив A. Образовать новый одномерный массив C, исходя из предположений, что С[1]=А[1]!, С[2]=А[2]!*А[3]!, С[n]=A[n-1]!*A[n]!
нефтяник вне форума Ответить с цитированием
Старый 02.04.2014, 13:52   #2
нефтяник
Новичок
Джуниор
 
Регистрация: 02.04.2014
Сообщений: 3
По умолчанию

Попробовал что то набросать, но не работает)))


Код:
var I,y,x:integer;
a: array[1..10] of integer;
c: array[1..10] of integer;
begin
Writeln;
for i:=1 to 10 do begin
function fact(x:integer):integer;
var
begin
if x<=1 then fact:=1
else fact:=fact(x-1)*x;
end;
x:=a[i];
function fact(y:integer):integer;
begin
if y<=1 then fact:=1
else fact:=fact(y-1)*y;
end;
y:=a[i+1];
end;
c[1]:=fact(x);
for i:=2 to n do begin
c[i]:=fact(x)*fact(y);
Write(c[i],' ');
end;

___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 02.04.2014 в 14:09.
нефтяник вне форума Ответить с цитированием
Старый 02.04.2014, 14:59   #3
yaschenko
Пользователь
 
Аватар для yaschenko
 
Регистрация: 29.03.2014
Сообщений: 26
По умолчанию

Попробуй как-то так:
Код:
 Randomize;
    Write('a: ');
    for i := 1 to 10 do
      begin
      a[i]:=Random(10)+1;
      Write(a[i],' ');
      end;
    c[1]:=fact(a[1]);
    c[2]:=fact(a[2])*fact(a[3]);
    Writeln;
    for I := 3 to 10 do
      c[i]:=fact(a[i-1])*fact(a[i]);
    for i := 1 to 10 do
      Write(c[i],' ');
    readln;
Функция нахождения факториала:
Код:
function fact(n:Integer):Integer;
begin
if n=1 then fact:=1
else fact:=fact(n-1)*n;
end;
Отладка - это процесс осознания того, что программа делает только то, что ты написал, а не то, что ты хотел написать.
yaschenko вне форума Ответить с цитированием
Старый 02.04.2014, 16:41   #4
нефтяник
Новичок
Джуниор
 
Регистрация: 02.04.2014
Сообщений: 3
По умолчанию

Спасибо, разобрался
нефтяник вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записи с помощью массива NuraPROG БД в Delphi 2 07.11.2013 00:00
Создание нового Wav - файла, используя заголовок другого. Dmitry_DM Мультимедиа в Delphi 1 11.08.2012 18:49
Поместить элементы Одного массива, в начало другого в обратном порядке. Adrenalin4 Общие вопросы C/C++ 2 15.11.2010 21:51
Создание TBitmap с ScanLine другого битмапа... SalasAndriy Мультимедиа в Delphi 7 25.10.2010 23:47
рисунок на паскале с помощью массива darika Паскаль, Turbo Pascal, PascalABC.NET 22 10.10.2009 19:47