Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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

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

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

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

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

Задание таково:
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, 03:02   #4
KaspeR
Новичок
 
Аватар для KaspeR
 
Регистрация: 05.12.2006
Сообщений: 1
Репутация: 10

icq: 325566333
По умолчанию

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

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

У меня ещё один вопрос, првельно ли я понял условие:
Вычислить значение функций 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, 19:15   #7
zetrix
Delphi/C++/C#
Профессионал
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,973
Репутация: 589
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


01:07.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru