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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2009, 16:07   #1
Elme
 
Регистрация: 29.04.2009
Сообщений: 3
По умолчанию Помогите плз дописать

Задача: Заполните матрицу последовательно по строкам числами Фибоначчи(первое -0, второе -1, а каждое следующее равно сумме двух предыдущих). Записать её в файл. Посчитать произведение элементов, принадлежащих заданной области. Результат записать в тот же файл. Вычисление производить при помощи функции. Область задана в oblast.bmp

А вот, собственно что я написал
program fibo;
var
f:text;
x:array[1..21] of integer;
n:integer;
i:integer;
a:integer;
b:real;
begin
assign(f,'fib.txt')
rewrite(f);
writeln(f,'0');
writeln(f,'1');
write('pascal:>fibonachi');
writeln('-');
write(' (3<=n=21):n=')
readln(n);
b:=1;
x[1]:=1;
x[2]:=1;
writeln('0');
writeln('1');
for i:=3 to n do
begin
x[i]:=x[i-2]+x[i-1];
writeln(x[i]);
a:=x[i];
b:=b*a;
writeln(f,x[i]);
end;
readln;
writeln(f,b);
close(f);
end.



Помогите дописать плиз функцию и посчитать произведение эл-тов, принадлежащих области, которая на риснке( oblast.bmp), а то у меня уже голова вскрывается =(
Изображения
Тип файла: jpg oblast.jpg (4.2 Кб, 136 просмотров)
Elme вне форума Ответить с цитированием
Старый 07.05.2009, 16:14   #2
Elme
 
Регистрация: 29.04.2009
Сообщений: 3
По умолчанию

P.S юзаю Free pascal, правда разница то=)
Elme вне форума Ответить с цитированием
Старый 07.05.2009, 17:06   #3
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию с подсчетом произведения я затрудняюсь сам)

uses crt;
const
nmax=100;
mmax=100;
var
a:array[1..nmax,1..mmax] of integer;
i,j:integer;
n,m:integer;
fil:text;
begin
clrscr;
write(' N -> ');
readln(n);
write(' M -> ');
readln(m);
for i:=1 to n do
begin
a[i,1]:=0;
a[i,2]:=1;
end;
for i:=1 to n do
for j:=3 to n do
a[i,j]:=a[i,j-1]+a[i,j-2];
assign(fil,'c:\array.txt');
rewrite(fil);
for i:=1 to n do
begin
for j:=1 to m-1 do
write(fil,a[i,j],' ');
writeln(fil,a[i,j+1]);
end;
close(fil);
readln;
end.
@(o_0)@
Tkirill вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите дописать БД Лорд_Оледжан Паскаль, Turbo Pascal, PascalABC.NET 2 30.05.2009 22:14
Помогите дописать ShnapS Паскаль, Turbo Pascal, PascalABC.NET 4 28.05.2008 21:08
помогите дописать программу slm Работа с сетью в Delphi 3 09.05.2008 18:39
Помогите дописать Klyan Общие вопросы C/C++ 8 22.06.2007 01:55
Помогите дописать компонент Mickle Компоненты Delphi 0 28.05.2007 19:41