Автор |
Сообщение |
virus
Репутация: 0
Сообщения: 36
Стаж: 1 год 7 месяцев
|
03.08.2006 13:48 трабл с Паскалем |
|
|
Народ помогите плизз.
у меня есть прога по вычислению следа и нормы матрицы.
Дело в том что у меня сделан ввод матрицы вручную а мне нужно сделать так: создать несколько матриц и записать их в файл типа массив а потом уже оттуда их брать как это сделать я пробовал но у меня не получается ...=(помогите плизз вот выложил адрес модуля по вычислению следа и нормы матрицы и самой проги
http://www.rapidshare.ru/18599
http://www.rapidshare.ru/18600
_________________ cs forever!
|
|
Вернуться к началу |
|
|
roman koff
Репутация: +2/–1
Пол:
Откуда: Санкт-Петербург
Сообщения: 384
Стаж: 2 года 10 месяцев
|
|
Вернуться к началу |
|
|
Snoop
Репутация: +2
Возраст: 15
Гороскоп:
Пол:
Сообщения: 1140
Стаж: 3 года
|
03.08.2006 20:52 |
|
|
у мня ваще како-то бред по твоим листингам, напиши само задание, как препод дала
_________________ Поцелуйте мой блестящий, раскалённый зад!
|
|
Вернуться к началу |
|
|
virus
Репутация: 0
Сообщения: 36
Стаж: 1 год 7 месяцев
|
03.08.2006 21:37 |
|
|
вот само задание:
Ввести с клавиатуры целочисленную матрицу А, заданного размера N*N. Вычислить след матрицы , т.е сумму элементов диагонали,норму матрицы, т.е найте макс сумму столбца матрицы по модулю...
Также преподаватель сказал мне не просто написать прогу а записать результат следа и нормы матрицы в файл типа запись и оттуда потом их брать а также не просто вводить вручную эл-ты массива а создать файл типа массив ввести внего неск матриц и потом уже из этого файла выбирать массив тот который мы хотим обрабатывать...вот я сделал первое т.е след и норму ввел в файл и оттуда беру токо матрицу ввожу вручную...все работает токо мне не сделать чтоб из файла можно было брать матрицы...также попытался написать модуль который генерирует рандомом числа и записал в файл но потом в главной проге пытаюсь открыть тот файл в который поместил матрицы и он пишет типа нету этого файла но и правда я не знаю почему но этот файл не создается=(
Вот выкладываю текст модуля который вычисляет след и норму матрицы
Unit SledNorm;
Interface
uses Crt;
Const MaxDl=30;
Type Tind=1..MaxDl;
Tmas=array[Tind,Tind] of integer;
Zap =record
mass: Tmas;
sled,
norma: integer;
end;
procedure obr(massive: Tmas;N:integer);
Implementation
procedure obr(massive: Tmas; N:integer);
var
sled,norma,sum:integer;
i,j:integer;
Zapis:zap;
mas: array[Tind] of integer;
f: file of zap;
BEGIN
{sled matrici}
sled:=0;
for i:=1 to N do
sled:=sled+massive[i,i];
{norma matrici}
sum:=0;
for j:=1 to N do
Begin
for i:=1 to N do
begin
sum:=sum+abs(massive[i,j]);
if i=N then begin mas[j]:=sum;sum:=0;end;
end
End;
norma:=mas[1];
for i:=2 to N do
if Mas[i]>norma then norma:=mas[i];
{$I-}
assign(f,'C:\fil.txt');
rewrite(f);
{$I+}
Zapis.mass:=massive;
Zapis.sled:=sled;
Zapis.norma:=norma;
Write(f,Zapis);
close(f);
END;
End.
а также главную прогу в которую подключаю модуль
program Matrica;
Uses SledNorm,Crt;
Var f :file of Zap;
zapis :Zap;
k,i,j :integer;
M :Tmas;
Begin
Clrscr;
write('kol-vo strok i stolbcov ');
readln(k);
if (k<=0) AND (k>MaxDl) then begin
clrscr;
writeln('vvedeno nevernoe znachenie');
halt;
end;
writeln('vvedite matricu ',k,'*',k,': ');
for i:=1 to k do
for j:=1 to k do
readln(M[i,j]);
clrscr;
obr(M,k);
{$I-}
assign(f,'C:\fil.txt');
reset(f);
{$I+}
If IOResult<>0 then begin
writeln('oshibka otkrytiya');
readln;
halt;
end;
Read(f,Zapis);
for i:=1 to k do
begin
for j:=1 to k do
write(Zapis.mass[i,j]:4);
writeln;
end;
Writeln('sled=',Zapis.sled);
Writeln('norma=',Zapis.norma);
Close(f);
Readln;
end.
и вот на всякий случай модуль который рандомо генер числа и записывает их в файл...вот на счет него я неуверен что он правильный, т.к он не создает на винте файл в котором должны быть матрицы...
UNIT MODUL;
INTERFACE
CONST N = 10;
M = 9;
TYPE MAS = ARRAY [1..N,1..N] OF WORD;
FF = FILE OF MAS;
var F : ff;
PROCEDURE ADD ( VAR F : FF );
IMPLEMENTATION
PROCEDURE ADD ( VAR F : FF );
VAR X : MAS;
I,J : 1..N;
K : 1..M;
BEGIN
RANDOMIZE;
assign (f,'C:\max.txt');
REWRITE (F);
FOR K:=1 TO M DO
BEGIN
FOR I:=1 TO N DO
FOR J:=1 TO N DO
X[I,J]:=RANDOM(10);
WRITE (F,X);
ENd;
CLOSE (F);
END;
END.
Хелп плз...
_________________ cs forever!
|
|
Вернуться к началу |
|
|
Snoop
Репутация: +2
Возраст: 15
Гороскоп:
Пол:
Сообщения: 1140
Стаж: 3 года
|
03.08.2006 22:05 |
|
|
ничего не обещаю, но завтра посмотрю...
вообще-то товарищи с 52й, могут попросить товарищей с 51й, которые работали с матрицами, помочь листингами хе-хе
_________________ Поцелуйте мой блестящий, раскалённый зад!
|
|
Вернуться к началу |
|
|
virus
Репутация: 0
Сообщения: 36
Стаж: 1 год 7 месяцев
|
03.08.2006 22:14 |
|
|
=) просто там же у всех разные задания да и я щас не в питере=)
посмтри плз..мот что сообразишь
_________________ cs forever!
|
|
Вернуться к началу |
|
|
virus
Репутация: 0
Сообщения: 36
Стаж: 1 год 7 месяцев
|
22.08.2006 9:29 |
|
|
ну что мне никто не поможет?=(((
_________________ cs forever!
|
|
Вернуться к началу |
|
|
Kast2K
Репутация: +2
Возраст: 23
Гороскоп:
Пол:
Сообщения: 3365
Стаж: 3 года 4 месяца
|
22.08.2006 9:50 |
|
|
virus
скорее всего сейчас здесь просто нет такого человека. подожди до начала сентября-конца августа
_________________ Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
|
|
Вернуться к началу |
|
|
Snoop
Репутация: +2
Возраст: 15
Гороскоп:
Пол:
Сообщения: 1140
Стаж: 3 года
|
22.08.2006 12:23 |
|
|
я посмотрел, но у меня получилась полная байда я знаю, кто делал похожие работы)
_________________ Поцелуйте мой блестящий, раскалённый зад!
|
|
Вернуться к началу |
|
|
|
|