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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2012, 14:11   #1
_LEX_
 
Регистрация: 02.01.2012
Сообщений: 8
По умолчанию как обработать двумерный массив из файла

В блокноте имеется квадратная матрица. Необходимо ее считать и обработать, затем уже обработанную добавить в этот файл.

Последний раз редактировалось _LEX_; 02.01.2012 в 15:27.
_LEX_ вне форума Ответить с цитированием
Старый 02.01.2012, 14:42   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Язык какой?

Update:
Код:
Type
  matrix=array of array of integer;

procedure GetMatrixFromFile(var T:textfile; var M:matrix);
var
  i,j:integer;
  TMP:integer;
begin
  reset(T);
  i:=0;
  j:=0;
  while not EOLN(T) do
    begin
      read(T,tmp);
      inc(i)
    end;
  setlength(m,i,i);
  reset(T);
    while not EOF(T) do
      begin
        i:=0;
        while NOT EOLN(T) do
          begin
            read(T,m[j,i]);
            inc(i);
          end;
          readln(T);
        inc(j);
      end;

end;

procedure SaveMatrixToFile(var T:textfile; var M:matrix);
var
  i,j:integer;
begin
  append(T);
  write(T,#13#10);
  write(T,#13#10);
  for i:=0 to high(m) do
    begin
      for j:=0 to high(m) do
        begin
          write(T,m[i,j]);
          write(T,' ');
        end;
      write(T,#13#10);
    end;
  close(T);
end;

VAR
  T:textfile;
  m:matrix;
  i,j:integer;
BEGIN
  assignfile(T,'input.txt');
  GetMatrixFromFile(T,M);
{Здесь матрица обрабатывается }
  SaveMatrixToFile(T,M);
readln

END.
Если в текстовике числа не целые, то массив делаешь of real и TMP в GetMatrixFromFile тоже.
Все тривиальное просто

Последний раз редактировалось whatever; 02.01.2012 в 15:48.
whatever вне форума Ответить с цитированием
Старый 02.01.2012, 15:21   #3
_LEX_
 
Регистрация: 02.01.2012
Сообщений: 8
По умолчанию

язык дельфи
_LEX_ вне форума Ответить с цитированием
Старый 02.01.2012, 16:30   #4
_LEX_
 
Регистрация: 02.01.2012
Сообщений: 8
По умолчанию

спасибо)))
_LEX_ вне форума Ответить с цитированием
Старый 02.01.2012, 17:53   #5
_LEX_
 
Регистрация: 02.01.2012
Сообщений: 8
По умолчанию

И еще вопрос есть: По какому принципу выбираются формальные параметры, тюе которые записаны в скобочках возле имени процедуры?
_LEX_ вне форума Ответить с цитированием
Старый 02.01.2012, 18:41   #6
_LEX_
 
Регистрация: 02.01.2012
Сообщений: 8
По умолчанию

как просто считать матрицу из файла? самый простой вариант. мне нужно разобраться
_LEX_ вне форума Ответить с цитированием
Старый 02.01.2012, 18:56   #7
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от _LEX_ Посмотреть сообщение
И еще вопрос есть: По какому принципу выбираются формальные параметры, тюе которые записаны в скобочках возле имени процедуры?
Ну, "в скобочках возле имени процедуры" перечисляется то, что эта процедура будет обрабатывать, в нашем случае текстовик и массив.
В самой процедуре есть переменные i,j,tmp, но они нужны только для работы внутри процедуры, поэтому как параметры мы их не передаем.

Цитата:
как просто считать матрицу из файла? самый простой вариант. мне нужно разобраться
Вот самый простой, и совершенно непригодный для реальной жизни вариант

Код:
procedure GetMatrixFromFile(var T:textfile);
var
  TMP:integer;
begin
  reset(T);
    while not EOF(T) do             //пока не конец файла
      begin
        while NOT EOLN(T) do      //пока не конец строки в файле
            read(T,TMP);              //чтение из файла в переменную TMP (одного из элементов матрицы). так как TMP:integer чтение будет производится до пробела, либо другого знака, который не цифра.
        readln(T);                       //перескакиваем на следующую строчку
      end;
end;
Все тривиальное просто
whatever вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как Быстро Обработать Массив? loh Общие вопросы C/C++ 7 24.12.2011 01:10
Ввод с файла в двумерный массив Qlry Общие вопросы C/C++ 1 14.05.2011 22:26
Как заполнить двумерный массив случайными числами? SkuLLL Помощь студентам 1 14.12.2010 17:04
Stringgrid как двумерный массив Gypsy Общие вопросы Delphi 3 20.01.2010 10:09
Как хранить двумерный массив в таблице DBF ИВэТэшка Помощь студентам 1 04.06.2009 15:31