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

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

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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Чтение матрицы из файла, как засунуть в процедуру ?
сообщение
Сообщение #1


Гость






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

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


Гость






Цитата(Hamster @ 17.03.05 19:17)
Чтение матрицы из файла написвть труда не составляет. А как засунуть в процедуру непонятно !?

Ну, если не составляет, то напишите... А потом поменяйте заголовок с Program <имя программы>; на Procedure ReadMatrix;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Если б я знал то не спрашивал бы... Если просто поменять program на procedure то компилятор ругается !
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата(Hamster @ 17.03.05 20:17)
ЗЫ. Опишите пжаласта эту процедуру(функцию) ! и как ее применить к нескоольким матрицам в одной программе ?


Вот в чем дело :low:
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Приведите код если можно... Того, что труда не составляет... Именно программы, я покажу, как сделать из нее процедуру...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -


--------------------
Двадцать пятый час в сутках может появиться всего лишь из-за небольшой ошибки в программе.
Чтобы не воспользоваться сумасшедшими возможностями, нужно быть идиотом.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


если все остальное правильно, то ты забыл
Код
close(inp);


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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
Ну попросили же:
Цитата
как ее применить к нескоольким матрицам в одной программе ?

Твою процедуру можно к нескольким матрицам применить?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Цитата(SHnur @ 17.03.05 21:04)
Например так :

Ну ето то все понятно...
Но как ты будешь применять цвою процедуру для нескольких матриц ? Это все ясно как Божий день(все равно спасиба),
но что нада в коде поменять, что б для 2-3 матриц мона была юзать !?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






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


Гость






Цитата(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 ?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.

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


Гость






Poslednij variant, vot eto ja i imel vvidu ! :yes:
Spasiba za podskazku !
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Гость






Se Puede Comprar Viagra Sin Receta Medica
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Гость






Cialis Generique Canada
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Гость






Viagra Price List
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Гость






Propecia En Ligne
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Гость






Betnovate Ointment
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Гость






Levitra Funziona Davvero
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 28.04.2024 16:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name