Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2007, 23:43   #1
Mapина
 
Аватар для Mapина
 
Регистрация: 02.07.2007
Сообщений: 9
Восклицание матрица в файле

требуется чтобы f: file of integer;

Пусть матрица А целых чисел размером10х10 записана по строкам в файле. Перенесите в новый файл m ный столбец матрицы(m задаётся вводом).

Спасибо.

что-то такое должно как я понимаю получится?
Код:
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  windows;
 
const
    n=10;
var
    i, j, m, t : integer;
    filename_in, filename_out : string;
    f_in, f_out : file of integer;
begin
    Write('Исходный: ');
    readln(filename_in);
    Write('результат : ');
    readln(filename_out);
    write('столбец: ');
    readln(m);
    AssignFile(f_in, filename_in);
    reset(f_in);
    AssignFile(f_out, filename_out);
    rewrite(f_out);
    for i := 1 to n do
      begin
        for j := 1 to m do
          read(f_in );
        write(f_out);
      end;
    closefile(f_in);
    closefile(f_out);
end.

не пойму как можно задействовать тут (m-1), а преподователь требует!
НеЗлаяЯ!
Mapина вне форума Ответить с цитированием
Старый 02.07.2007, 23:55   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Код:
var f_in,f_out:textfile;
     m,item,i,j:integer;

begin
  assignfile(f_in,'matrix.txt');
  assignfile(f_out,'column.txt');
  reset(f_in);
  rewrite(f_out);
  writeln('Input m');
  readln(m);
  for i:=1 to 10 do
    for j:=1 to 10 do
    begin
      read(f_in,item);
      if j=m then write(f_out,item,' ')
    end; 
  closefile(f_out);
  closefile(f_in);
end.
Carbon вне форума Ответить с цитированием
Старый 02.07.2007, 23:59   #3
Mapина
 
Аватар для Mapина
 
Регистрация: 02.07.2007
Сообщений: 9
По умолчанию

подобным способом я уже решала...

Но требуется чтобы f_in: file of integer;
НеЗлаяЯ!
Mapина вне форума Ответить с цитированием
Старый 03.07.2007, 00:16   #4
Mapина
 
Аватар для Mapина
 
Регистрация: 02.07.2007
Сообщений: 9
По умолчанию

вот ещё вариант:
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  windows;

const
    n=10;
var
    i, j, m, t : integer;
    filename_in, filename_out : string;
    f_in, f_out : file of integer;
begin
    Write('Исходный: ');
    readln(filename_in);
    Write('результат : ');
    readln(filename_out);
    write('столбец: ');
    readln(m);
    AssignFile(f_in, filename_in);
    reset(f_in);
    AssignFile(f_out, filename_out);
    rewrite(f_out);
    for i := 1 to n do
      begin
        seek(f_in, (i-1)*n+m-1);
          read(f_in, t);
        write(f_out, t);
      end;
    closefile(f_in);
    closefile(f_out);
end.
НеЗлаяЯ!
Mapина вне форума Ответить с цитированием
Старый 03.07.2007, 00:20   #5
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

По идее в моём примере можно просто заменить textfile на file of integer, убрав пробел в write.

(Хотя уже лет 100 не работал с типизированными файлами)
Carbon вне форума Ответить с цитированием
Старый 03.07.2007, 00:29   #6
Mapина
 
Аватар для Mapина
 
Регистрация: 02.07.2007
Сообщений: 9
По умолчанию

но тогда и
Код:
assignfile(f_in,'matrix.txt');
assignfile(f_out,'column.txt');
f_in не *.txt...
НеЗлаяЯ!
Mapина вне форума Ответить с цитированием
Старый 03.07.2007, 13:15   #7
Mapина
 
Аватар для Mapина
 
Регистрация: 02.07.2007
Сообщений: 9
По умолчанию

вот решила, только теперь необходима программа, которая создаёт типизированный файл(*.dat), содержащий матрицу 10х10!

1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0


Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  windows;

const
    n=10;
var
    i, j, m, t : integer;
    filename_in, filename_out : string;
    f_in, f_out : file of integer;
begin
    Write('Исходный: ');
    readln(filename_in);
    Write('результат : ');
    readln(filename_out);
    write('столбец: ');
    readln(m);
    AssignFile(f_in, filename_in);
    reset(f_in);
    AssignFile(f_out, filename_out);
    rewrite(f_out);
    for i := 1 to n do
      begin
        seek(f_in, (i-1)*n+m-1);
          read(f_in, t);
        write(f_out, t);
      end;
    closefile(f_in);
    closefile(f_out);
end.
НеЗлаяЯ!
Mapина вне форума Ответить с цитированием
Старый 03.07.2007, 21:54   #8
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
f_in не *.txt...
Какая разница, какое расширение?
Carbon вне форума Ответить с цитированием
Старый 04.07.2007, 01:40   #9
Mapина
 
Аватар для Mapина
 
Регистрация: 02.07.2007
Сообщений: 9
По умолчанию

так требует преподователь!
f: file of integer;
НеЗлаяЯ!
Mapина вне форума Ответить с цитированием
Старый 04.07.2007, 10:27   #10
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
только теперь необходима программа, которая создаёт типизированный файл(*.dat), содержащий матрицу 10х10!
for i:=1 to 100 do write(f,random(100));

В типизированном файле всё последовательно хранится, так что заморочек нет.
zetrix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
матрица {C++} Влдислаав3911 Помощь студентам 1 28.05.2008 02:36
Матрица Droid Общие вопросы Delphi 7 06.05.2008 20:14
матрица евгения, Помощь студентам 3 04.06.2007 20:31