![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
setare |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 152 Пол: Женский Репутация: ![]() ![]() ![]() |
Здравствуйте! Не могли бы вы мне помочь решить одну простейшую задачку. Она тоже про матрицы. В текстовом файле есть квадратная матрица произвольного размера (массивами и строками пользоваться нельзя). Нужно найти сумму элементов на главн диоганали.
Проблема состоит в том, как можно считать числа с каждой строки: 1 число с первой, второе число со второй и тд. Сообщение отредактировано: volvo - 14.12.2004 19:41 -------------------- Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.
Нима |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
setare
Вот работающий код (проверен на матрице размера 3Х3) Код var f: text; a, sum: real; i, j: integer; begin assign(f, 'data.txt'); reset(f); i := 1; sum := 0; while not eof(f) do begin for j := 1 to pred(i) do read(f, a); read(f, a); sum := sum + a; while not seekeoln(f) do begin read(f, a); end; inc(i); end; writeln('s = ', sum:10:6); close(f); end. Пример входного файла: Цитата 0.002 0.003 0.004 0.005 0.006 0.007 0.001 0.006 0.004 Сообщение отредактировано: volvo - 14.12.2004 20:22 |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 13:17 |