IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Подключение модуля к программе, Или проблема с модулем
Relrin
сообщение 16.03.2011 21:55
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 64
Пол: Мужской

Репутация: -  0  +


Пишу программку на FreePascal. Написал модуль, который решает СЛАУ методом Гаусса. Скомпилировалсь без проблем, однако возникла при после подключения модуля и попытки запустить основную программу вылезла ошибка:
Цитата
Error: Incompatible type for arg no. 5: Got "pr1.Vector", expected "SLAE.Vector"


Основной код программы:

Program pr1;

Uses Crt, Dos, SLAE;

Const
nn=4;

Type
Matrix = array[1..nn,1..nn] of real; {матрица}
Vector = array[1..nn] of real; {столбец-вектор}

Var
a : matrix; {исходная матрица}
b,x : vector; {свободные члены, решения СЛАУ}
Eps : double; {точность вычислений}

{Использование матрицы-константы}
Procedure UseConstMatrix(var a:matrix);
Begin
a[1,1]:=7.5; a[1,2]:=1.8; a[1,3]:=-2.1; a[1,4]:=-7.7; b[1]:=1.1;
a[2,1]:=-10; a[2,2]:=1.3; a[2,3]:=-20; a[2,4]:=-1.4; b[2]:=1.5;
a[3,1]:=2.8; a[3,2]:=-1.7; a[3,3]:=3.9; a[3,4]:=4.8; b[3]:=1.2;
a[4,1]:=10; a[4,2]:=31.4; a[4,3]:=-2.1; a[4,4]:=-10; b[4]:=1.1;
End;

{Вывод исходной матрицы на экран}
Procedure PrintMatrix(n: integer; var a: matrix; var b: vector);
Var
i,j,r: integer;
Begin
clrscr;
writeln(' Исходная матрица: ');
writeln;
r:=WhereY;
gotoXY(2,r);
for i:=1 to n do
begin
gotoXY(i*6+5,r);
write(i);
gotoXY(1,r+i+1);
write(i:2);
end;
gotoXY((n+1)*6+6,r);
write('b');
for i:=1 to n do
begin
for j:=1 to n do
begin
gotoXY(j*6+1,r+i+1);
write(a[i,j]:7:2);
end;
gotoXY((n+1)*6+2,r+i+1);
write(b[i]:7:2);
end;
End;

{Вывод результатов}
Procedure PrintSolutions(n: integer; var x: vector);
Var
i,j,r: integer;
Begin
writeln(' Решение матрицы: ');
for i:=1 to n do
begin
writeln(' x',i,'= ', x[i]: 4 : 6);
end;
End;

{Введение точности вычислений с клавиатуры}
Procedure EnterAcc;
Begin
writeln;
writeln;
writeln(' Введите точность: ');
repeat
write(' >');
read(Eps);
until (Eps>0) and (Eps<1);
writeln;
End;

{Основная программа}
Begin
clrscr;
{Вывод исходной матрицы на экран}
UseConstMatrix(a);
PrintMatrix(nn,a,b);
readkey;
{Решение СЛАУ методом Гаусса}
EnterAcc;
Gauss(nn,a,b,Eps,x);
{Вывод результата}
PrintSolutions(nn,x);
readkey;
End.


Прикрепляю также сделанный модуль...

Сообщение отредактировано: Relrin - 16.03.2011 22:10


Прикрепленные файлы
Прикрепленный файл  SLAE.pas ( 2.46 килобайт ) Кол-во скачиваний: 272
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.05.2024 23:39
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"