![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Dark Vova |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
Доброе время суток! Помогите пожалуйста разобраться.. Дана задача:
Сформируйте и выведите на экран массив из n элементов, где каждый элемент массива равен разнице первого и предыдущего элемента, деленной на порядковый номер элемента. Решение, по идее, должно выглядеть так:
Но если запустить программу, то она выдаст неверный результат. Но это ещё не всё. Если записать формулу в команде WriteLn:
то программа всё верно подсчитает. В чём же ошибка? |
![]() ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Последовательность cтроится автоматически, все что тебе нужно ввести - первые 2 элемента.
write('x[1] = '); readln(x[1]); -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Dark Vova |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
klem4 Спасибо! Но на примере опять ошибка...
Если мы введем 4 числа: 9, 8, 7, 6 - то конечный массив (пока без деления, чтобы нагляднее было) по идее должен выглядеть как "9, 8, 1, 2". А паскаль выдаёт такой результат: "9, 8, 1, 8". То бишь он первое действие да, делает как надо, то есть вычитает 9 - 8 = 1. а потом он же должен вычитать 9 - 7 = 3, а выдает 8.. Сообщение отредактировано: Dark Vova - 5.03.2007 18:59 |
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Для 9, 8, 7, 6 результат должен быть такойже как и для 9, 8 то есть:
9, 8, (9-8)/3, [9 - (9 - 8)/3] / 4 тобишь 9, 8, ~0.3, ~2.1 ты забываешь о Цитата каждый элемент массива равен разнице первого и предыдущего элемента, деленной на порядковый номер элемента. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Dark Vova |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
klem4 Спасибо, что помог разобраться! Забыл, что элементы-то заменяются..
![]() ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 22:37 |