![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Dranik7 |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Текст задачи:
Поменяйте содержимое трех ячeек a,b,c. (обмен выполняeтся циклически a->b, b->c, c->a). дополнительных переменных не использовать Помогите решить Сообщение отредактировано: Dranik7 - 9.10.2010 18:49 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Сам-то пробовал? Задача на 3 минуты, если подумать
![]() P.S. Для разминки - сначала попробуй решить задачу для ДВУХ переменных, не пользуясь дополнительной. |
TarasBer |
![]()
Сообщение
#3
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
А какого типа переменные?
> Задача на 3 минуты, если подумать Я в своё время не осилил. -------------------- |
Unconnected |
![]()
Сообщение
#4
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Такая, только с двумя переменными, была года два назад на какой-то олимпиаде... осилил, методом научного тыка.) Ну для 3х не сильно отличаться будет.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Lapp |
![]()
Сообщение
#5
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Задача на 3 минуты, если подумать Думанье включается в 3 мин? ))У меня не было случая ее порешать ((, я прочитал сразу в какой-то книге (о вреде чтения, кстати)). Я сильно сомневаюсь, что я бы ее асилел.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Unconnected |
![]()
Сообщение
#6
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Я чего-то недопонял, или все дело правда тут?)
Кстати, кажется, такой обмен (a->b, b->c, c->a) эквивалентен b->c.. Сообщение отредактировано: Unconnected - 9.10.2010 0:01 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
TarasBer |
![]()
Сообщение
#7
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> Кстати, кажется, такой обмен (a->b, b->c, c->a) эквивалентен b->c..
swap(c,a) тут лишний. -------------------- |
Lapp |
![]()
Сообщение
#8
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
> Кстати, кажется, такой обмен (a->b, b->c, c->a) эквивалентен b->c.. swap(c,a) тут лишний. ![]() Un, ты слишком буквально трактовал условие )). Если бы условие было a->b, b->a (что означает: значение из a должно перейти в b, а значение из b перейти в a) - ты бы тоже два раза свопил? )) -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Unconnected |
![]()
Сообщение
#9
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Ну как бы для наглядности) Да я вообще то и написал это, в том посте))
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Lapp |
![]()
Сообщение
#10
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
то и написал это Так ты то написал или это? ))Но!.. Un, ты забыл кое-что важное. В таком виде процедура swap не пройдет теста.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Цитата В таком виде процедура swap не пройдет теста.. А кроме всего прочего - она и не нужна тут ни разу, все делается гораздо проще. ![]() |
Unconnected |
![]()
Сообщение
#12
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Ну мне вообще проще было бы по первому способу...) Сообщение отредактировано: Unconnected - 9.10.2010 11:12 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Цитата Ну мне вообще проще было бы по первому способу...) Ну, вообще-то твой последний способ неправильный, тебя все время тянет сделать что-нибудь лишнее:Running "f:\programs\pascal\test.exe " - это неправильное поведение программы... |
Unconnected |
![]()
Сообщение
#14
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Цитата - это неправильное поведение программы... Чего это вдруг оно неправильное? ![]() -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
А что, правильное? Значение A у тебя вообще не меняется, скажем. Это так надо? Вообще написано, что старое значение A должно было перейти в B, а потом ей должно присвоиться новое значение - бывшее раньше в C...
|
Unconnected |
![]()
Сообщение
#16
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Но, в итоге содержание ячеек таким же и должно получиться ведь (эквивалентное b<->c)? Да, и правда, тут, наверное, важен сам процесс (наряду с неиспользованием доп.переменных).. Но и "чистого" обмена, по-моему, тут тоже не получится, будут левые действия, как сейчас.
Сбили с панталыку в начале темы, оптимизаторы )) -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Dranik7 |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Unconnected, в обоих вариантах нет циклов, а надо с помощью цикла
|
TarasBer |
![]()
Сообщение
#18
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> a:=c-b-a;
> a:=c-b-a; Зачем 2 раза? Один раз тут лишний, если его убрать, всё будет нормально. > Unconnected, в обоих вариантах нет циклов, а надо с помощью цикла В условии сказано, что нужен циклический обмен, этот код и делает цилический обмен. А если нужно, чтобы был цикл for i := ..., то надо, чтобы числа были не в переменных a, b, c, а в массиве, и требование, чтобы первый элемент перешёл в последний, а остальные сдвинулись на единичку назад. -------------------- |
Unconnected |
![]()
Сообщение
#19
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Цитата Зачем 2 раза? Один раз тут лишний, если его убрать, всё будет нормально. Он там не лишний.. "нормально" и сейчас, если иметь в виду конечный результат. Сообщение отредактировано: Unconnected - 9.10.2010 18:13 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
TarasBer |
![]()
Сообщение
#20
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> если иметь в виду конечный результат
Конечный результат - это не то, что получается в результате 3 парных перестановок. Понимаешь? -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 15:15 |