![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
barlog |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Реальное имя: г Репутация: ![]() ![]() ![]() |
Для данного одномерного массива укажите индексы тех его элементов, сумма которых равна заданному числу(если такие есть). Найдите все наборы элементов, удовлетворяющих условию задачи.
Помогите плиз! Чё то и с формулировкой не всё ясно мне. Буду благодарен любой помощи! |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Массив: <1, 2, 3, 6, 7, 8>
Заданное число = 16 Какие элементы массива дают в сумме 16? Перечисли ВСЕ комбинации, только печатай НЕ сами элементы, а их индексы, т.е. вместо <1, 7, 8> будет <1, 5, 6> вместо <3, 6, 7> будет <3, 4, 5> Чуть раньше была тема про разложение на слагаемые, она тебе может помочь, загляни в нее... |
barlog |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Реальное имя: г Репутация: ![]() ![]() ![]() |
Спасибо, постараюсь найти тему. Если ничего не получиться напишу.
|
barlog |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Реальное имя: г Репутация: ![]() ![]() ![]() |
Нашёл тему о разложение числа на слагаемые.
Вот один из способов заполнения массива Uses Crt; А вот ваша процедура Uses Crt; Допустим, после заполнения массива вводим нужное число n. А как теперь подключить процедуру которая переберёт все варианты слагаемых составляющее это число и выведет их номера? Так как число n должно состоять из слагаемых входящих в массив, то они должны параллельно вводиться в diapason? { diapason: set of byte [1,5,7]??? } Т.е массив из {1,5,7} Вводим число 8. {1,1,1,1,1,1,1,1} {5,1,1,1} {7,1} И выводит их индексы {1} {2,1} {3,1} ?????????? Помоги, пожалуйста, с реализацией! Что-то вообще запутано! Если есть время конечно. Буду очень благодарен! Спасибо за предоставленную помощ! |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Ну, например, вот такой вариант прекрасно отрабатывает на том примере, который я привел во втором посте:
varВот так это выглядит: Цитата(Console) n = 16 (индексы, правда, выводятся в порядке, соответствующем от большего элемента массива к меньшему - хотя индексы как раз можно и пересортировать, они могут выводиться в любом порядке - и существует ограничение: элементы массива - типа Byte, т.е. в интервале 0 .. 255, но я думаю, тебе этого хватит...)arr[ 1] = 1 arr[ 2] = 2 arr[ 3] = 3 arr[ 4] = 6 arr[ 5] = 7 arr[ 6] = 8 5 4 2 1 5 4 3 6 4 2 6 5 1 |
barlog |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Реальное имя: г Репутация: ![]() ![]() ![]() |
Спасибо! Всё работает! Но кроме smallint аписал везде integer. Т.к паскаль не распазнают что такое smallint.
Вопрос закрыт! Ещё раз спасибо! |
![]() ![]() |
![]() |
Текстовая версия | 30.03.2023 9:18 |