Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
1

Считать содержимое файла в двумерный массив

06.10.2013, 21:34. Просмотров 1059. Ответов 7
Метки нет (Все метки)

Есть файл в котором содержаться координаты
1 0
3 0
3 4
5 4
и т д
Левая x правая y.
Как мне все это считать в двумерный массив ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2013, 21:34
Ответы с готовыми решениями:

Считать из файла числа, формируя из них двумерный массив размера NxN, и вывести его
Надо считать из файла числа , формируя из них двумерный массив размера NxN, и вывести его. Вообще...

Считать содержимое файла и вывести на экран сумму всех записанных чисел
Помогите, пожалуйста, написать программы на языке Паскаль В текстовом файле записан набор чисел...

Нужно считать файл в динамический двумерный массив
Нужно считать файл в двумерный динамический массив, вычислив количество строк в файле...

Считать изображение с компьютера в формате TIFF в двумерный массив
Ребята, такая проблема. Необходимо считать изображение с компьютера в формате TIFF в Паскаль в...

7
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
07.10.2013, 23:36  [ТС] 2
помогите
0
107 / 107 / 110
Регистрация: 28.02.2011
Сообщений: 978
08.10.2013, 14:33 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var f:text;
    buf: integer;
    m:array[1..100,1..2]of integer;
    nc,j:integer;
begin
  nc:=1;
  Assign(f,'data.txt');
  {$I--}
  reset(f);
  {$i++}
  if IOResult<> 0 then writeln('Error Open File!!')
   else
    begin
      while not(eof(f)) do
       begin
        read(f,buf);
        m[nc,1]:=buf;
        read(f,buf);
        m[nc,2]:=buf;
        inc(nc);
       end;
    end;
    close(f);
for j:=1 to nc-1 do
 writeln(m[j,1],' ',m[j,2]);
 Readln;
end.
может такое сойдет не знаю
1
Модератор
62251 / 46534 / 32083
Регистрация: 18.05.2008
Сообщений: 112,502
08.10.2013, 14:51 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var f:text;
    m:array[1..100,1..2]of integer;
    nc:integer;
begin
Assign(f,'data.txt');
{$I-}
reset(f);
{$I+}
if IOResult<> 0 then
 begin
  writeln('Error Open File!!');
  readln;
  exit
 end;
n:=0;
while not(eof(f)) do
 begin
  inc(nc);
  read(f,m[nc,1],m[nc,2]);
 end;
close(f);
for j:=1 to nc do
writeln(m[j,1],' ',m[j,2]);
Readln;
end.
1
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
08.10.2013, 22:59  [ТС] 5
Puporev
Спасибо, все работает.
А не подскажешь, как программа понимает
Pascal
1
read(f,m[nc,1],m[nc,2]);
Что первое число засунуть в одну часть массива,а другую в другую?
0
Модератор
62251 / 46534 / 32083
Регистрация: 18.05.2008
Сообщений: 112,502
09.10.2013, 06:24 6
Так мы же считываем по 2 числа и пишем в 2 переменные nc1,nc2. Можно сделать и по по 3 и больше..
read(f,a,b,c,d);
Главное чтобы между числами не было никаких символов кроме пробелов, знаков табуляции и переходов на новую строку.
0
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
09.10.2013, 12:31  [ТС] 7
Puporev,
Т.е программа автоматом понимает, что в этой строке находится 2 числа, и спокойно их распределяет по 2 ум переменным?
0
Модератор
62251 / 46534 / 32083
Регистрация: 18.05.2008
Сообщений: 112,502
09.10.2013, 12:37 8
Да хоть все числа в одной строке, если их считывать парами, то и записывать будет куда надо.
Вообще главное что бы количество чисел было четное и между числами и после них не было никаких символов кроме пробелов, знаков табуляции и переходов на новую строку.

Добавлено через 1 минуту
Просто писать по 2 в строке удобно для чтения файла в редакторе.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2013, 12:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Считать массив из файла и отсортировать его. Отсортированный массив сохранить в файл
Создать одномерный массив. Сохранить его в файл. Считать массив из файла и отсортировать его....

Считать из файла символьный массив
помогите набидь программу в pascal. зарание благодарен считать из файла символьный массив....

Считать текст из файла в матрицу(массив)
Подскажите плз как считать текст из файла в массив текст любой например: &quot;fsdfs dsfsdfsd ...

Перезаписать содержимое файла в открытый массив типа Char
Требуется перезаписать содержимое файла в динамический открытый массив типа чар, а затем подсчитать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.