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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2006, 17:57   #1
Atrus
 
Регистрация: 11.12.2006
Сообщений: 5
Стрелка Необходима помощь студенту-заочнику

Добрый день/вечер/ночь!

Нуждаюсь в небольшой помощи. Я студент-заочник, на начитке были заданы заданя по программированию, по сколько с программированием я не первый день знаком задания написал, но есть некие проблемки:

- Появляеться ошибка при компиляции 200 (Divizion by zero), деление на ноль, и ссылаеться на uses crt... Где-то я в инете прочитал что нужно пропатчить crt, а вот как и где уже нигде информации нет.

Заранее благодарен, Андрей.
Atrus вне форума Ответить с цитированием
Старый 11.12.2006, 18:12   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Слава богу, что не заставили (в инете) форматнуть хард, а могли.

Если выложишь листинг программы, то может найдём ошибку.
zetrix вне форума Ответить с цитированием
Старый 11.12.2006, 18:21   #3
Atrus
 
Регистрация: 11.12.2006
Сообщений: 5
По умолчанию

Задание таково:
2, Получить элементы квадратной матрицы А=|a i,j |, i,j=1, ..., n, a i,j = f(i,j), где f(i,j) задано f(i,j) = 0.1 e i - 2.758 j + 2sin(ij).

3. Из матрицы A получить компоненты вектора X={xi}, i=1,2,...,n, по следующему правилу в каждом столбце матрицы найти минимальный и следующий за ним элемент принять в качестве элемента вектора. Если минимальный элемент стоит в конце столбца, то принять в качестве элемента вектора минимальный элемент

4. Преобразовать вектор в соответствии с правилом
i-й элемент вектора равен (хi + хn-i + хn-i-1 )/3 где i=1, n-2.

5. Оформить пункты 2.3.4 в виде процедур и объединить эти пункты, рассматривая как одну задачу.
Результаты вывода на экран для пунктов 2-5 – матрица А (построчно), исходный и результирующий векторы Х.

Вот код:

program ft;
Uses CRT;
Const leng=100;
type
mtr=array[1..leng,1..leng] of real;
vector=array[1..leng] of real;
var i,j,m,n:integer;
k:byte;
d:byte;
lst:array[1..leng] of byte;
a:mtr;
xmin:real;
x:vector;

label 1;
procedure matr;
begin
ClrScr;
writeln;
write('Input n=');
read(n);
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=0.1*exp(i)-2.758*j+2*sin(i*j);
write('a[',i,',',j,']=',a[i,j]:6:5,' ');
end;
writeln;
writeln;
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
write(',i,',',j,',a[i,j]:6:5,' ');
end;
writeln;
end;

end;

procedure vectorx;
begin
k:=1;

for j:=1 to n do
begin
xmin:=a[1,j];
for i:=1 to n do
begin
if xmin>a[i,j] then
begin
k:=i;
xmin:=a[i,j];

end;
end;

writeln;
if k=n then x[j]:=xmin else x[j]:=a[k+1,j];
write('x[',j,']=',x[j]:10:5);
writeln
end;
writeln;
end;
procedure xi;
begin
for i:=1 to n-2 do
begin
x[i]:=x[i]+x[n-i]+x[n-i-1];
write('x',i,'=',x[i]:7:5,' ');
end;
end;
begin
matr;
vectorx;
xi;
writeln;

write('Press to key 1 - continue, 2- quit');
read(d);
if d=1 then matr;
end.
Atrus вне форума Ответить с цитированием
Старый 12.12.2006, 02:02   #4
KaspeR
Новичок
Джуниор
 
Аватар для KaspeR
 
Регистрация: 05.12.2006
Сообщений: 1
По умолчанию

Это правда crt корявый. У меня все работает...
Вот нормальный.
Вложения
Тип файла: rar TURBOTPL.RAR (27.6 Кб, 29 просмотров)
KaspeR вне форума Ответить с цитированием
Старый 13.12.2006, 16:50   #5
Atrus
 
Регистрация: 11.12.2006
Сообщений: 5
По умолчанию

KaspeR, спасибо огромнейшее!!! Заработало!
Atrus вне форума Ответить с цитированием
Старый 13.12.2006, 17:32   #6
Atrus
 
Регистрация: 11.12.2006
Сообщений: 5
По умолчанию

У меня ещё один вопрос, првельно ли я понял условие:
Вычислить значение функций s=x^y, sin(x) и определить корни квадратного уравнения.

Вот исходный код:

program prog1;
Uses CRT;
var
y,s,x,sinx,b,d,a,c,x1,x2:real;
vvod:integer;
begin
ClrScr;
writeln;
writeln('Function s=x^y and sin(x)');
writeln;
write('Input y=');
read(y);
writeln;
write('Input x=');
read(x);
s:=(exp(y*ln(x)));
sinx:=sin(x);
writeln;
write('s=',s:10:3,' sin(x)=',sinx:10:5);
writeln;
while vvod<>1 do
begin
write('Input a=');
read(a);
writeln;
write('Input b=');
read(b);
writeln;
write('Input c=');
read(c);
d:=(b*b-4*a*c);
if d>=0 Then
begin x1:=(b-abs(sqrt(d)))/2/a; x2:=(b+abs(sqrt(d)))/2/a;
write('x1=',x1:10:5,' x2=',x2:10:5,' ');
writeln; end
else write('net reshenia');
writeln('1 - exit, 2 - repeat');
readln(vvod);
end;
end.
Atrus вне форума Ответить с цитированием
Старый 13.12.2006, 18:15   #7
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Вроде всё верно... А что, не работает?
zetrix вне форума Ответить с цитированием
Старый 13.12.2006, 18:46   #8
Atrus
 
Регистрация: 11.12.2006
Сообщений: 5
По умолчанию

все работает...совесть мучает, что-то не так...
Atrus вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходима помощь в дописании программы ALIZE Паскаль, Turbo Pascal, PascalABC.NET 1 09.12.2007 18:13
Необходима помощь с кроссбраузерностью sdevil HTML и CSS 1 24.10.2007 01:55
Необходима помощь nimf Свободное общение 0 29.08.2007 10:43
необходима помощь специалиста Ирина Свободное общение 0 09.11.2006 15:52