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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2010, 23:19   #1
Lexia_nick_otin
 
Регистрация: 05.10.2009
Сообщений: 6
По умолчанию Схема Горнера и комплексные числа

Задача: Написать программу для вычисления значений комплексного полинома n-й степени в m точках. Вычисления должны выполняться с использованием схемы Горнера. Исходные данные необходимо извлечь из текстового файла in.txt, а результаты работы программы требуется поместить в текстовый файл out.txt. Файлы in.txt и out.txt должны размещаться в директории исполняемого файла.

Код:
Program Complex;
const q=1000;
var f_in,f_out:text;
    n,m,i,k,j:integer;
    b_re:array[0..q] of real;
    b_im:array[0..q] of real;
    c_im:array[0..q] of real;
    z_re:array[0..q] of real;
    z_im:array[0..q] of real;

begin
assign(f_in,'in.txt');
reset(f_in);
assign(f_out,'out.txt');
rewrite(f_out);
readln(f_in,n);
for i:=n downto 0 do readln(f_in,c_re[i],c_im[i]);
b_re[n+1]:=0;
b_im[n+1]:=0;
readln(f_in,m);
for i:=0 to m do readln(f_in,z_re[i],z_im[i]);

for j:=0 to m do begin
for i:=n downto 0 do begin
b_re[i]:=c_re[i]+b_re[i+1]*z_re[j]-b_im[i+1]*z_im[j];
b_im[i]:=c_im[i]+b_re[i+1]*z_im[j]+b_im[i+1]*z_re[j];
end;
writeln(f_out,b_re[0],' ',b_im[0]);
end;

close(f_in);
close(f_out);
end.
Что я делаю не так? =(

Последний раз редактировалось Stilet; 27.02.2010 в 10:50.
Lexia_nick_otin вне форума Ответить с цитированием
Старый 27.02.2010, 00:38   #2
Indian
Форумчанин
 
Регистрация: 23.02.2010
Сообщений: 107
По умолчанию

Забыто объявление:
c_re:array[0..q] of real;

С таким файлом in.txt:
Код:
4
1 2 
3 4 
6 5
7 8
9 3
0
3 4
Работет нормально.

Первая цифра 4, а вторая 0, потому что в цикле учитывается нулевой итератор.
Код:
readln(f_in,n);
for i:=n downto 0 do readln(f_in,c_re[i],c_im[i]);
т.е. 4 3 2 1 0.
Indian вне форума Ответить с цитированием
Старый 27.02.2010, 11:44   #3
Lexia_nick_otin
 
Регистрация: 05.10.2009
Сообщений: 6
По умолчанию

Почему не работает с
4
3 0
-2.3 -1.1
0 0
0 -5
14.6 -1.8
6
2.7 -1.2
1.1 0
1 -1
0 0
1 1
0 -3.2

?
Lexia_nick_otin вне форума Ответить с цитированием
Старый 27.02.2010, 13:35   #4
Indian
Форумчанин
 
Регистрация: 23.02.2010
Сообщений: 107
По умолчанию

Код:
4
3 0
-2.3 -1.1
0 0
0 -5
14.6 -1.8
5
2.7 -1.2
1.1 0
1 -1
0 0
1 1
0 -3.2

Последний раз редактировалось Indian; 27.02.2010 в 14:13.
Indian вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комплексные числа в паскале селюк Помощь студентам 6 26.05.2010 22:35
Комплексные числа shtuceron Помощь студентам 2 21.01.2010 23:47
Схема Горнера! vlad1991 Помощь студентам 1 17.01.2009 14:59
Комплексные числа 777UFO777 Общие вопросы Delphi 0 21.12.2008 23:48
записи и комплексные числа ZhekON Паскаль, Turbo Pascal, PascalABC.NET 4 23.05.2008 15:57