Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Первая производная

Автор: Гость_Манна 17.11.2004 18:13

Задача:

В массиве a:array [0..k] of integer хранятся коэффициенты многочлена степени k. Поместить в массив c: array [0..m] of integer коэффициенты первой производной этого многочлена.

Решение:

Код
program Pervaja_proizvodnaja;                                                
uses crt;                                                                    
const k=5;                                                                    
var
 i:integer;                      

 { Коэффициенты многочлена степени k }                                          
 a: array[1..k] of integer;

 { Коэффициенты первой производной этого массива }
 c: array[0..{m}k-1] of integer;

begin                                                                        
 clrscr;
 writeln (' Введите ',k,' элементов массива ');
 for i:=1 to k do readln (a[i]);
 for i:=1 to k do begin
   c[i]:=a[i]*(k-i);
   writeln(c[i]);
 end;
 readkey;
end.


Цитата
Все исходники должны помещаться в теги CODE /CODE Т.е. ваша программа, должна быть между CODE и /CODE


Проблема:
Программа не работает.

Подскажите что-нибудь :yes:

Автор: volvo 17.11.2004 19:16

Вычисление по правилу: (x^n)' = n*(x^(n-1))

Код

program Pervaja_proizvodnaja;
uses crt;
const k=5;
var
 i:integer;
 a: array[1..k] of integer;    {koefficienty mnogochlena stepeni k}
 c: array[0..k-1] of integer; {koeficienty pervoj proizvodnoj etogo massiva}
begin
clrscr;
writeln (' Vvedite ',k,' elementov massiva ');
for i:=1 to k do readln(a[i]);
for i:=1 to k do
begin
 c[i-1]:=i*a[i];
 writeln(c[i]);
end;
readkey;
end.

Автор: Atos 18.11.2004 18:09

А не работала прога, потому что на последнем проходе цикла

Код
for i:=1 to k do begin  c[i]:=a[i]*(k-i);

производилась попытка записи в несуществующий k-й элемент массива c, ведь он определялся на 0..k-1 ;)