Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/26: Рейтинг темы: голосов - 26, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 12

Вывод двумерного массива

07.10.2010, 11:50. Показов 4981. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи, я , видимо, где-то туплю.
Есть входной файл с двумерным массивом 15 строк-20 символов в строке, тип char , который необходимо вывести в др. файл.

Исходные данные:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
kotov inzhener
sanin prodavez
lukin kassir
somov voditel
vanin tehnik
lenin tehnik
nosov kassir
romin manager
zanin prodavez
mosin voditel
durov inzhener
repin tehnik
panin inzhener
panov voditel
kolin kassir


Пытаюсь сделать это следующим кодом
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program p11_io;
type
t=array[1..20] of char;
tt=array[1..15] of t;
var
A:tt;B:t;
i,j:integer;
Begin
     assign(input,'spisok.inp');
     reset(input);
     assign(output,'spisok.out');
     rewrite(output);
     For i:=1 to 15 do
     Begin
          For j:=1 to 20 do
          Begin
               Read(A[i,j]);
               Write(A[i,j]);
          End;
     readln;
     writeln;
     End;
End.
В итоге получаю такой бред в выходном файле. Как с этим бороться? Почему он считает, что кол-во строк 20?!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
kotov inzhener
sani
lukin kassir
somov 
vanin tehnik
lenin 
nosov kassir
romin 
zanin prodavez
mosi
durov inzhener
repi
panin inzhener
pano
kolin kassir





0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.10.2010, 11:50
Ответы с готовыми решениями:

Формирование и вывод двумерного массива
Составить программу, которая осуществляет формирование и вывод двумерного массива случайными числами. Размерность двумерного массива...

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

Вывод двумерного массива на печать в виде таблицы
Доброго времени суток. Подскажите каким образом можно вывести двумерный массив на принтер в виде таблицы(матрицы). Приведите любой пример. ...

7
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.10.2010, 11:55
Цитата Сообщение от Verano naranjo Посмотреть сообщение
lenin tehnik
Вот где здесь 20 символов?

Добавлено через 1 минуту
Вот тебе и считывает символы #13,#10 и добавляет мусор до 20 символов.
0
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 12
07.10.2010, 12:05  [ТС]
Не совсем поняла, что имеется ввиду.
Почему, судя. по всему, Pascal считает, что у меня 20 строк и делает перебор до 20 строк,когда цикл задан до 15 строк?

Возможно, мне просто нужно как-то отформатировать входные данные, например, выровнять по последнему символу, т.е. столбец с профессией будет начинаться не с 7 , а , допустим, с 13 или 12 символа так. чтобы последний символ приходился на 20 позицию строки?

Посоветуйте, пожалуйста, что лучше сделать?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.10.2010, 12:08
Цитата Сообщение от Verano naranjo Посмотреть сообщение
Pascal считает, что у меня 20 строк
Не фига он не считает. Он считает что в каждой строке нужно взять 20 символов, а их там меньше, вот он и придумывает за вас. Сделайте ровно по 20 символов в строке, например между словами добавьте пробелов или в конце строк.
0
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 12
07.10.2010, 12:18  [ТС]
О, спасибо. Я собственно так и думала сделать.

Но не могли бы вы мне объяснить, раз уж зашла такая тема, почему он читает через строку верно?!
Какова логика паскаль при чтении файла?Как он так разбил строки у меня?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.10.2010, 12:38
И все равно строками массив счимволов писать нельзя, в конце каждой строки есть 2 невидимых символа - конц строки и переход на новую строку(#10,#13).
то матрицу чисел так читать можно.
0
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 12
07.10.2010, 13:53  [ТС]
Ок, все ясно.

А не подскажете. как мне организовать вывод таким образом, чтобы он выводил список без фамилий. т.е. вывод, начиная с 7 символа и до конца строки?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.10.2010, 19:18
Не зная суть вашей задачи, трудно советовать. Текстовые файлы лучше всего считывать построчно, а потом преобразовывать строки как нужно, например у вас
Pascal
1
2
3
4
5
6
7
i:=0;
while not eof(f) do
 begin
   i:=i+1;
   readln(f,s[i]);
   s[i]:=copy(s[i],7,length(s[i])-6));
 end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.10.2010, 19:18
Помогаю со студенческими работами здесь

Вывод двумерного массива
Здравствуйте! :-) помогите пожалуйста решить задачу: Составьте программу, которая запрашивает размеры двумерного массива, значения его...

Вывод двумерного массива
День добрый. const m=4; type matrix=array of integer; var a:matrix; i,j:integer; procedure vvod(var massiv:matrix); var

Вывод двумерного массива
Добрый день/вечер/ночь(нужное подчеркнуть)! Я тут решал задачку одну, только что познакомился с двумерными массивами, и у меня сразу...

Вывод двумерного массива спиралью.
Вот собственно есть множество вариантов решений данной задачи. Одно из них чуть ниже. Сам вопрос в том, что есть проблема самого вывода...

Формирование и вывод двумерного массива
напишите программу формирования и вывода массива размером 6х3, каждые три последовательных элемента в строке которого составлены по...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru