![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Hamster |
![]()
Сообщение
#1
|
Гость ![]() |
Чтение матрицы из файла написвть труда не составляет. А как засунуть в процедуру непонятно !?
ЗЫ. Опишите пжаласта эту процедуру(функцию) ! и как ее применить к нескоольким матрицам в одной программе ? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата(Hamster @ 17.03.05 19:17) Чтение матрицы из файла написвть труда не составляет. А как засунуть в процедуру непонятно !? Ну, если не составляет, то напишите... А потом поменяйте заголовок с Program <имя программы>; на Procedure ReadMatrix; |
Hamster |
![]()
Сообщение
#3
|
Гость ![]() |
Если б я знал то не спрашивал бы... Если просто поменять program на procedure то компилятор ругается !
|
Hamster zhe |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата(Hamster @ 17.03.05 20:17) ЗЫ. Опишите пжаласта эту процедуру(функцию) ! и как ее применить к нескоольким матрицам в одной программе ? Вот в чем дело :low: |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Приведите код если можно... Того, что труда не составляет... Именно программы, я покажу, как сделать из нее процедуру...
|
Guest |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата(volvo @ 17.03.05 20:37) Приведите код если можно... Того, что труда не составляет... Именно программы, я покажу, как сделать из нее процедуру... Код program vvod_matr; const m=3; n=3; type matr=array[1..m,1..n] of integer; 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; end. PLZ. |
SHnur |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 81 Пол: Мужской Реальное имя: Шурик Репутация: ![]() ![]() ![]() |
Например так :
Код const m=3; n=3; type matr=array[1..m,1..n] of integer; 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; begin {main program} vvod_matr; {vizov proceduri} end. исправлено. Сообщение отредактировано: SHnur - 17.03.2005 21:11 -------------------- Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом. |
klem4 |
![]()
Сообщение
#8
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
если все остальное правильно, то ты забыл
Код close(inp); -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Код program vvod_matr; const m=3; n=3; type matr=array[1..m,1..n] of integer; procedure read_matrix(var inp: text; var a: matr); var i, j: integer; begin for i:=1 to m do for j:=1 to n do read(inp,A[i,j]); end; procedure print(a: matr); begin for i:=1 to m do begin for j:=1 to n do write(a[i,j], ' '); writeln; end; end; var A, B : matr; inp1, inp2 : text; begin assign(inp1, 'c:\a.txt'); reset(inp1); writeln('Матрица A : '); read_matr(inp1, a); print( a ); close(inp); assign(inp2, 'c:\a2.txt'); reset(inp2); writeln('Матрица B : '); read_matr(inp2, B); print( b ); Close(inp2); readln; end. SHnur Ну попросили же: Цитата как ее применить к нескоольким матрицам в одной программе ? Твою процедуру можно к нескольким матрицам применить? |
Alpha7 |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата(SHnur @ 17.03.05 21:04) Например так : Ну ето то все понятно... Но как ты будешь применять цвою процедуру для нескольких матриц ? Это все ясно как Божий день(все равно спасиба), но что нада в коде поменять, что б для 2-3 матриц мона была юзать !? |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Alpha7, предыдущий мой ответ не нравится? Тогда объясните, чем (пост №9)
![]() |
Alpha7 |
![]()
Сообщение
#12
|
Гость ![]() |
Цитата(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 |
![]()
Сообщение
#13
|
Гость ![]() |
Ну, если Вам нравится заново поизобретать что-нибудь, то пожалуйста... Только учтите, что приведенная процедура ничего вернуть не может, поскольку матрица описана в ней локально, следовательно она исчезнет при выходе из процедуры... Скажите спасибо 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 |
![]()
Сообщение
#14
|
Гость ![]() |
Poslednij variant, vot eto ja i imel vvidu ! :yes:
Spasiba za podskazku ! |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:50 |