Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Ksenia S
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 63
1

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

03.04.2014, 17:01. Просмотров 700. Ответов 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
Ответы с готовыми решениями:

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

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

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

Считать одномерный массив из файла и сформировать из него матрицу
Как считать одномерный массив из файла и сформировать из него матрицу A? Потом...

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

11
APALoff
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
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
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
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
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
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
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
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
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
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 / 11
Регистрация: 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

Как считать с файла?
Помогите у меня проблема с кодом не читает с файла assign(F,'imp.txt');...

Считать число из файла
Всем привет. Работа идет с НЕтипизированным файлом. Необходимо, чтобы...

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


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

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

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