Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal ABC

Войти
Регистрация
Восстановить пароль
 
Ksenia S
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 63
#1

Считать матрицу из файла - Pascal ABC

03.04.2014, 17:01. Просмотров 556. Ответов 11
Метки нет (Все метки)

Необходимо ввести матрицу с файла, и её же вывести в файл.
В чем ошибка?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program kl;
 
var
a: array [0..9, 0..9] of byte;
i,j, m, n:byte;
f, g: text;
begin
Assign(f,'in.txt');Reset(f);
Assign(g,'out.txt');Append(g);
For i:= 1 to n do
 for j:=1 to m do
Read(f, a[i,j]);
writeln (g, ' Исходная матрица: ');
For i:= 1 to n do
 for j:=1 to m do
write (g, a[i,j]);
Close(f);Close(g);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2014, 17:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считать матрицу из файла (Pascal ABC):

Считать и вывести матрицу из файла - Pascal ABC
Помогите! Проблема в том что программа считывает мтрицу. В файле находится матрица ввида 2 3 4 6 6 7 8 2 5 2 9 4 6 9 0 2 но...

Разработать программу,котораядолжна считать с клавиатуры или файла матрицу,вектор,многочлен и транспонировать матрицу "на месте". - Pascal
Помогите срочно...а то я пропал!

Считать одномерный массив из файла и сформировать из него матрицу - Pascal
Как считать одномерный массив из файла и сформировать из него матрицу A? Потом в этой матрице я нахожу нули которые стоят ниже побочной...

Считать матрицу из текстового файла, сформировать из нее вектор, отсортировать и изменить его по условиям - Pascal
Уважаемые участники форума. Напишите, пожалуйста, программу.pas. Считать матрицу из текстового файла. Из ее элементов,...

Как считать с файла? - Pascal
Помогите у меня проблема с кодом не читает с файла assign(F,'imp.txt'); read(F); Read(F,n); for i:=1 to n do read(Tmas); ...

Считать число из файла - Pascal ABC
Всем привет. Работа идет с НЕтипизированным файлом. Необходимо, чтобы программа считывала строки, из файла "name.txt" определенное...

11
APALoff
1636 / 1065 / 470
Регистрация: 03.07.2013
Сообщений: 4,506
03.04.2014, 17:25 #2
А это так и надо, что массив описан с индексами 0..9, а в цикле индексы начинаются с 1 ?

Добавлено через 52 секунды
А чему вообще равны n и m перед началом обработки массива?
0
Ksenia S
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 63
03.04.2014, 17:30  [ТС] #3
Например, n=3, m=4
тогда матрица :
1284
8407
4716

Добавлено через 1 минуту
Цитата Сообщение от APALoff Посмотреть сообщение
А это так и надо, что массив описан с индексами 0..9, а в цикле индексы начинаются с 1 ?
Да, с этим все верно
0
APALoff
1636 / 1065 / 470
Регистрация: 03.07.2013
Сообщений: 4,506
03.04.2014, 17:34 #4
Цитата Сообщение от Ksenia S Посмотреть сообщение
Например, n=3, m=4
"Например" - не надо - используйте это в Вашем коде! Я для того и задавал наводящие вопросы, чтобы Вы сами догадались где-что исправлять.

Добавлено через 1 минуту
Цитата Сообщение от Ksenia S Посмотреть сообщение
Сообщение от APALoff Посмотреть сообщение
А это так и надо, что массив описан с индексами 0..9, а в цикле индексы начинаются с 1 ?
Да, с этим все верно
А можете объяснить для чего это так реализовано?
0
Ksenia S
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 63
03.04.2014, 17:38  [ТС] #5
Цитата Сообщение от APALoff Посмотреть сообщение
А можете объяснить для чего это так реализовано?
Потому что эта программа - часть другой программы, и элементами матрицы могут быть только числа от 0 до 9
0
APALoff
1636 / 1065 / 470
Регистрация: 03.07.2013
Сообщений: 4,506
03.04.2014, 17:41 #6
Цитата Сообщение от Ksenia S Посмотреть сообщение
Потому что эта программа - часть другой программы, и элементами матрицы могут быть только числа от 0 до 9
Вот! Это говорит о том, что Вы не понимаете, что такое матрица и индексы матрицы!

Добавлено через 1 минуту
Если Вы хотите именно ограничить значения элементов матрицы, то надо было так:
Pascal
1
2
3
4
5
Const
n = 10; m = 10;
Type tA = 0..9;
var
a: array [1..n, 1..m] of tA;
0
Ksenia S
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 63
03.04.2014, 17:46  [ТС] #7
Цитата Сообщение от APALoff Посмотреть сообщение
Вот! Это говорит о том, что Вы не понимаете, что такое матрица и индексы матрицы!
Но даже если исправить
a: array [1..100,1..100] of byte;
программа все равно работает неправильно.

Добавлено через 56 секунд
Пусть даже без ограничений.
просто файловый ввод и вывод любой матрицы
0
APALoff
1636 / 1065 / 470
Регистрация: 03.07.2013
Сообщений: 4,506
03.04.2014, 17:48 #8
Вспомните мой наводящий вопрос:
Цитата Сообщение от APALoff Посмотреть сообщение
А чему вообще равны n и m перед началом обработки массива?
Я пытался намекнуть, что начальные значения надо инициализировать, в TP такие переменные содержат мусор - случаные значения, в PABC.NET - они автоматически обнуляются перед использованием - но все равно, начальные значения очень рекомендую задавать!
1
Ksenia S
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 63
03.04.2014, 17:52  [ТС] #9
Всё, спасибо,я разобралась)

Добавлено через 3 минуты
Записала вот так:
Pascal
1
2
3
4
5
const
n=2;
m=3;
var
a: array [1..n,1..m] of byte;
Но как сделать, чтобы выводилась матрица не в одну строку, а в нормальном виде?
0
APALoff
1636 / 1065 / 470
Регистрация: 03.07.2013
Сообщений: 4,506
03.04.2014, 18:02 #10
с этим немного сложнее... write - вывод без перевода строки.... попробуйте воспользоваться writeln
Pascal
1
2
3
For i:= 1 to n do
 for j:=1 to m do
   If i<m then write (g, a[i,j]) else writeln(g, a[i,j]);
Но такой порядок надо будет учитывать потом при считывании элементов массива...
1
Ksenia S
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 63
03.04.2014, 18:09  [ТС] #11
все равно выводит в одну строку
0
wendigo9
8 / 8 / 4
Регистрация: 19.03.2014
Сообщений: 26
03.04.2014, 18:17 #12
Pascal
1
2
3
4
5
6
for i:=1 to n do
begin
for j:=1 to m do
write(g, a[i,j]);
writeln;
end;
1
03.04.2014, 18:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2014, 18:17
Привет! Вот еще темы с ответами:

Не получается считать строку из файла! - Pascal
Мне нужно реализовать следующую задачку: Дан файл, содержащий некоторый текст. Написать программу, выполняющую выравнивание этого текста...

Считать числа из файла в массив - Pascal ABC
Помогите мне сохранить числа, записанные в файле через пробел в 1 строку, в массив.(при том количество чисел неизвестно). Заранее...

Считать данные из файла в переменные - Pascal ABC
У меня такой вопрос, как в программе написаной в паскале которая открывает файл txt, в котором есть три числа, приписать к каждому из них...

Считать матрицы из файла и сложить их - Pascal
Основная задача сложить матрицы.Но это не проблема. Числа для них нужно взять из файла и если количество чисел больше чем размеры вывести...


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

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

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