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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2008, 18:17   #1
NTFS
 
Регистрация: 14.03.2008
Сообщений: 6
По умолчанию Подскажите где у меня ошибка(Паскаль)

Дано: натуральное n , действительные a1,....,аn Вычислить:
а1+а2*(а2-1)+...+an*(an-1)...(an-n+1)
Если сумма ряда не понятна ,то поясняю:например n=4
тогда 1+2*(2-1)+3*(3-1)*(3-2)+4*(4-1)*(4-2)*(4-3)
Не правильно считает,подскажите где ошибка.
Вот код:
program _114;
type k=array[1..100] of integer;
var a:k;n,j,i,r,u:integer;
begin
repeat
writeln('vvod n>3');
readln(n);
until(n>3);
writeln('vvod',n ,' elementov cherez probel');
for i:=1 to n do read(a[i]);
r:=a[1];
u:=1;
for i:=2 to n do begin
for j:=1 to n do
u:=u*(a[i]-j+1);
r:=r+u;
u:=1;
end;
eriteln('OTBET:'r);
readln;
readln;
end.
NTFS вне форума Ответить с цитированием
Старый 02.04.2008, 18:27   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

1)
Цитата:
eriteln('OTBET:'r);
Как это пропустил компилятор
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 02.04.2008, 19:06   #3
Stepler
Форумчанин
 
Аватар для Stepler
 
Регистрация: 03.02.2008
Сообщений: 213
По умолчанию

Чтото перемудрил сильно, даже не хочу разбирать что там и как, проще с нуля было написать, вот смотри пример, все намного проще!
Код:
var n,r,s,i,j:integer;
begin
writeln('Vvedite chislo');
readln(n);
r:=1;
for i:=1 to n-1 do
 begin
 s:=1;
 for j:=i+1 downto 2 do
 s:=s*j;
 r:=r+s;
 end;
writeln(r);
end.
Пишу программы на заказ, контакты под аватаром!
Отзывы тут
Stepler вне форума Ответить с цитированием
Старый 02.04.2008, 19:28   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

На формулу внимательнее посмотри. У тебя она a[i]*(i-1)!, т.е.
for i:=2 to n do
summa:=summa+a[i]*(i-1)!; Конечно надо функцию факториал вставить.
summa:=summa+a[1];
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, где ошибка в использовании ControlSource... Tooree Microsoft Office Access 2 18.08.2008 20:46
Подскажите, где в программе ошибка gamer123 Паскаль, Turbo Pascal, PascalABC.NET 3 25.02.2008 03:09
Подскажите в чём ошибка! Irat Паскаль, Turbo Pascal, PascalABC.NET 3 18.02.2008 17:13
Подскажите плиз в чем ошибка в БД D7 при SQL запросе TitAn БД в Delphi 16 07.06.2007 20:18
подскажите паскаль Катюшка Паскаль, Turbo Pascal, PascalABC.NET 5 28.11.2006 06:44