Чтение матрицы из файла, как засунуть в процедуру ? |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
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 Пол: Мужской Реальное имя: Шурик Репутация: 0 |
Например так :
Код 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 - -------------------- Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом. |
klem4 |
Сообщение
#8
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
если все остальное правильно, то ты забыл
Код 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 ! |
buy cialis online no prescriptio |
Сообщение
#15
|
Гость |
Se Puede Comprar Viagra Sin Receta Medica
|
buy zithromax online without per |
Сообщение
#16
|
Гость |
Cialis Generique Canada
|
what is considered a high dose o |
Сообщение
#17
|
Гость |
Viagra Price List
|
lower price on finasteride cambe |
Сообщение
#18
|
Гость |
Propecia En Ligne
|
dolor de espalda mezclar diclofe |
Сообщение
#19
|
Гость |
Betnovate Ointment
|
how does plaquenil work for auto |
Сообщение
#20
|
Гость |
Levitra Funziona Davvero
|
Текстовая версия | 22.11.2024 20:22 |