Чтение матрицы из файла, как засунуть в процедуру ? |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Чтение матрицы из файла, как засунуть в процедуру ? |
Hamster |
Сообщение
#1
|
Гость |
Чтение матрицы из файла написвть труда не составляет. А как засунуть в процедуру непонятно !?
ЗЫ. Опишите пжаласта эту процедуру(функцию) ! и как ее применить к нескоольким матрицам в одной программе ? |
volvo |
Сообщение
#2
|
Гость |
Alpha7, предыдущий мой ответ не нравится? Тогда объясните, чем (пост №9)
|
Alpha7 |
Сообщение
#3
|
Гость |
Цитата(volvo @ 17.03.05 21:45) Alpha7, предыдущий мой ответ не нравится? Тогда объясните, чем (пост №9) 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 |
Сообщение
#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. Вот так... |
Alpha7 |
Сообщение
#5
|
Гость |
Poslednij variant, vot eto ja i imel vvidu ! :yes:
Spasiba za podskazku ! |
Текстовая версия | 15.05.2024 12:33 |