Гири, Составить нужный вес |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Гири, Составить нужный вес |
Zigfried |
3.12.2009 20:18
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Пусть имеется 10 гирь весом а1,а2,...,а10.Обозначим через Ск число способов,которыми можно составить вес к,
то есть Ск-это число решений уравнения а1х1+а2х2+...+а10х10=к,где Хi может принимать значения 0 или 1 (i=1,...,10).Получите с1,с2,...,с10. Помогите написать пожалуйста)))) Сообщение отредактировано: Zigfried - 3.12.2009 20:35 |
Lapp |
3.12.2009 20:26
Сообщение
#2
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
При чем тут массивы???
Прочти Правила и измени название на ИНФОРМАТИВНОЕ. Иначе закрою. Добавлено через 12 мин. Кошмар. Нет слов. ладно, вижу, что ошибка была не в названии, а в генокоде. Изменяю название сам. Все-таки прочти Правила, а?.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zigfried |
3.12.2009 20:41
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
ладно ступил
Главное помогите)) |
Lapp |
3.12.2009 20:50
Сообщение
#4
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Главное помогите)) А сам начинал делать?Если да - покажи, что написал. Даже если мало и неправильно. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zigfried |
3.12.2009 20:59
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
начинал но всё что накатал у меня на компе в универе. Как я понял тут точно нужен массив из весов гирь больше ничего я непонимаю как это делать полностью. Особенно мне итрересно как тут можно перебирать все варианты корней уравнения(т.к. они зависят от того какой будет хi).
|
Lapp |
3.12.2009 21:14
Сообщение
#6
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Особенно мне итрересно как тут можно перебирать все варианты корней уравнения(т.к. они зависят от того какой будет хi). Проще всего тут это делать рекурсией. Вы ее проходили? Вообще, процедуры проходили?-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zigfried |
3.12.2009 21:17
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
нет я на 1 курсе учусь мы проходим массивы так что надо как то с их помощью решить...
|
Lapp |
3.12.2009 21:56
Сообщение
#8
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
нет я на 1 курсе учусь мы проходим массивы так что надо как то с их помощью решить... БЕЗ помощи массивов никто ничего делать не будет, это само собой. Я тебя спрашиваю что ЕЩЕ можно использовать.Можешь просто ответить, процедуры проходили? Ответь ДА или НЕТ, плз. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zigfried |
3.12.2009 21:58
Сообщение
#9
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
нет процедуры не проходили
Сообщение отредактировано: Zigfried - 3.12.2009 21:58 |
Lapp |
3.12.2009 22:00
Сообщение
#10
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
нет процедуры нельзя Ну а циклы? можно? Я бы очень хотел посмотреть на твои попытки, которые у тебя в универе.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zigfried |
3.12.2009 22:04
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
циклы можно разумеется оператором case можно пользоваться если он тут нужен но единственное нельзя через go to решать препод тогда пристрелит на месте)
|
Lapp |
3.12.2009 23:59
Сообщение
#12
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
циклы можно разумеется Хорошо, пусть будет с циклами. Вот тебе решение (см. ниже), но в нем я специально испортил кое-что - одно выражение заменил на другое (кстати, замена получилась значимая). Сумеешь исправить - хорошо, нет - приходи, попробуем разобраться..Цитата но единственное нельзя через go to решать препод тогда пристрелит на месте) За кого ты меня принимаешь?? я еще подойду и контрольный в голову сделаю.. const Успехов! -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zigfried |
4.12.2009 21:24
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Спасибо за помощь всё испарвил и с успехом сдал задачу)))))))))
|
Lapp |
4.12.2009 21:39
Сообщение
#14
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Спасибо за помощь всё испарвил и с успехом сдал задачу))))))))) Пожалуйста! Если тебя не затруднит, скажи, пожалуйста, тут, в теме, что нужно исправить и как, чтобы программа была правильной. Для потомков )). -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zigfried |
6.12.2009 16:23
Сообщение
#15
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Я исправил until c[i]=10, и поставил ещё 1 условие if w[i]>0 then перед for i:=1 to n do s:=s+c[i]*w[i]; ну и по мелочи вес гирь с константы на ввод исправил)))
|
Lapp |
6.12.2009 19:47
Сообщение
#16
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Я исправил until c[i]=10, Нет, не так .Слушай внимательно: в этот момент у тебя переменая i вообще не определена! Никогда не надейся на то, что по выходе из цикла она будет равна максимальному значению. Всегда используй переменные, которые САМ определяешь. Дальше - откуда взялась 10 ?? Это что ли n? Ну так так и пиши тогда. И последнее: я сделал, как ты написал - не-а, не пашет! Но место правильное, да. Еще одна попытка..? Можешь задавать вопросы (кроме "что там написать" ). Цитата и поставил ещё 1 условие if w[i]>0 then перед for i:=1 to n do s:=s+c[i]*w[i]; А разве вес гири может быть отрицательным? Извини, но я рассчитывал на нашу старую добрую Вселенную с нашей старой доброй физикой.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zigfried |
6.12.2009 20:21
Сообщение
#17
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: 0 |
Нет просто там при вводе нужно учесть всё и если пользователь ошибётся и введёт отрицательный вес гири он должен его отбросить а то там если ввести относительно небольшой вес он можен лишнего понабрать)))))))))
ну а по поводу until... хм... над подумать... |
Lapp |
6.12.2009 22:07
Сообщение
#18
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Нет просто там при вводе нужно учесть всё и если пользователь ошибётся и введёт отрицательный вес гири он должен его отбросить Просто нужно добавить проверку при вводе и заставлять перевводить, если отрицательное. Игнорировать отрицательные значения - это как-то странно выглядит.. Типа не ставить заплатки на штаны, а каждому встречному говорить: "здесь у меня дырка, вы туда не смотрите" -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Вячеслав Л. |
7.12.2009 13:01
Сообщение
#19
|
Бывалый Группа: Пользователи Сообщений: 227 Пол: Мужской Реальное имя: Вячеслав Репутация: 3 |
Извиняюсь, за встревание, но мне нужна аналогичная проверка. Вот так возможно это сделать?:
... Или, предполагалось как-то по другому? Цитата Типа не ставить заплатки на штаны, а каждому встречному говорить: "здесь у меня дырка, вы туда не смотрите" -------------------- Само знание есть сила
|
Lapp |
7.12.2009 19:20
Сообщение
#20
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
так возможно это сделать?:
Конечно. Можно еще добавить что-то типа вывода "недопустимое число; повторите ввод:".... Или, предполагалось как-то по другому? А по-другому - это только если отказываться от ReadLn и делать посимвольный ввод. Тут это абсолютно лишнее. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 27.04.2024 2:52 |