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

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

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

> Чтение матрицы из файла, как засунуть в процедуру ?
Hamster
сообщение 17.03.2005 20:17
Сообщение #1


Гость






Чтение матрицы из файла написвть труда не составляет. А как засунуть в процедуру непонятно !?

ЗЫ. Опишите пжаласта эту процедуру(функцию) ! и как ее применить к нескоольким матрицам в одной программе ?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 17.03.2005 21:45
Сообщение #2


Гость






Alpha7, предыдущий мой ответ не нравится? Тогда объясните, чем (пост №9) angry.gif
 К началу страницы 
+ Ответить 
Alpha7
сообщение 17.03.2005 21:56
Сообщение #3


Гость






Цитата(volvo @ 17.03.05 21:45)
Alpha7, предыдущий мой ответ не нравится? Тогда объясните, чем (пост №9)  angry.gif

Nu kak versiju ja eto priznaju bez problem ! =)
Delo v tom, chto nuzhno schitivat` massiv iz faila i pihat` v proceduru kak :
Код

procedure vvod_matr;
var
A : matr;      {matrivca A}
i,j : integer; {peremnnie cikla}
inp : text;
begin
assign(inp, 'c:\a.txt');
reset(inp);
writeln('Ishodmaja Matrica A : ');
for i:=1 to m do
begin
 for j:=1 to n do
 read(inp,A[i,j]);
 end;
 for i:=1 to m do
 begin
for j:=1 to n do
write      (A[i,j],' ');
writeln;
end;
readln;
close(inp);
end;

Postavlu vopros inache : "Mozhno li, i kak ,esli da, primenit` etot kod dlia neskol`ki matric, meniaja tol`ko parametr funkcii,a ne samo ee telo ?
 К началу страницы 
+ Ответить 
volvo
сообщение 17.03.2005 22:21
Сообщение #4


Гость






Ну, если Вам нравится заново поизобретать что-нибудь, то пожалуйста... Только учтите, что приведенная процедура ничего вернуть не может, поскольку матрица описана в ней локально, следовательно она исчезнет при выходе из процедуры... Скажите спасибо SHnur-у :D

Чтобы вернуть матрицу (притом, как выясняется - не одну, а несколько), нет другого пути, кроме как использовать Var - параметры... Но этот путь Вас устраивает только "как вариант", тогда ищите другой.

Отвечаю не вопрос - нет. Нельзя применить процедуру SHnur-а для ввода нескольких матриц... У нее просто НЕТ параметров... Я уже привел свой вариант... В крайнем случае, могу посоветовать вот это:
Код
program vvod_matr;
const
 m=3; n=3;
type
 matr=array[1..m,1..n] of integer;

Procedure read_matrix(s: string; var a: matr);
var
 inp: text;
 i, j: integer;
begin
 assign(inp, s);
 reset(inp);
 for i:=1 to m do
   for j:=1 to n do
     read(inp,A[i,j]);

 for i:=1 to m do begin
   for j:=1 to n do
     write(A[i,j],' ');
   writeln;
 end;
 close(inp)
end;

var
A, B : matr;
begin
 writeln('Ishodmaja Matrica A : ');
 read_matrix('c:\a.txt', A);

 writeln('Ishodmaja Matrica B : ');
 read_matrix('c:\b.txt', B)
end.

Вот так...
 К началу страницы 
+ Ответить 

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


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

 



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