![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Tribunal |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
у меня есть две задачи:
1. Даны два целых числа i и j и файл вещественных чисел, содержащий ненулевую часть верхней треугольной матрицы (по строкам). Вывести порядок матрицы и ее элемент, расположенный в i-й строке и j-м столбце (строки и столбцы нумеруются от 1). Если требуемый элемент находится в нулевой части матрицы, то вывести 0; если элемент отсутствует, то вывести –1. 2. Дано целое число N и текстовый файл с именем Name1, содержащий один абзац текста, выровненный по левому краю. Отформатировать текст так, чтобы его ширина не превосходила N позиций, и выровнять текст по левому краю. Пробелы в конце строк удалить. Сохранить отформатированный текст в новом текстовом файле с именем Name2. во второй задаче мне нужно в слцчае если вот эти N озиций разрывает слово,то преносить это слово целиком на следующую строку,а если слово такое,что занимает больше всю строку этих N позиций,то просто разорвать его,перенеся лишние символы на следующую строку. со вторым проблем нет.проблема состоит в том,что у меня не получается сделать так,чтобы переносилось слово целиком,то есть первый случай. а в первой задаче мне не понятно,как записать в файл вводимые значения верхней ненудевой части матрицы по строкам. большая просьба помочь) Сообщение отредактировано: Tribunal - 8.04.2006 5:23 -------------------- irreparabilium felix olivio rerum
|
![]() ![]() |
Tribunal |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
прошу прощения,но
у меня вновь возникли вопросы.. дело в том что программа не может выполнить нужные операции для n<12, если я не ошибаюсь. почему это происходит? и еще вопрос:а для чего нужно if (p=0) then p:=pred(n);? и почему if st<>'' then begin работает только вне цикла while not eof(f) do? пожалуйста,помогите разобраться(( -------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата(Tribunal @ 9.04.2006 6:09) дело в том что программа не может выполнить Не знаю, я проверял только при n >= 25... Попробую подставить маленькие значения - потом напишу, что происходит...нужные операции для n<12, если я не ошибаюсь. почему это происходит? Цитата(Tribunal @ 9.04.2006 6:09) а для чего нужно if (p=0) then p:=pred(n);? А подумай, когда, собственно, p может быть равно 0? По-моему, есть только один случай, когда это может произойти - если в строке есть только одно слово, более длинное чем N... В этом случае нам надо, чтобы слово было "разрезано" по N-му символу, так? А в программе есть запись: prev := copy(st, succ(p), 255) + ' ';Чтобы не делать лишних If ... Then ... Else, я просто присвоил в p значение N - 1, и это удовлетворяет всем условиям... Цитата(Tribunal @ 9.04.2006 6:09) почему Ну, а это - как раз и есть тот самый "хвост", про который я сразу забыл. А "хвост" остается только после обработки всего файла, в самом конце. Вот я и проверяю это уже ПОСЛЕ циклаif st<>'' then begin работает только вне цикла while not eof(f) do? While not eof(f) do |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 18:18 |