Одномерный массив |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Одномерный массив |
barlog |
23.10.2006 20:44
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 27 Пол: Мужской Реальное имя: г Репутация: 0 |
Для данного одномерного массива укажите индексы тех его элементов, сумма которых равна заданному числу(если такие есть). Найдите все наборы элементов, удовлетворяющих условию задачи.
Помогите плиз! Чё то и с формулировкой не всё ясно мне. Буду благодарен любой помощи! |
volvo |
23.10.2006 20:58
Сообщение
#2
|
Гость |
Массив: <1, 2, 3, 6, 7, 8>
Заданное число = 16 Какие элементы массива дают в сумме 16? Перечисли ВСЕ комбинации, только печатай НЕ сами элементы, а их индексы, т.е. вместо <1, 7, 8> будет <1, 5, 6> вместо <3, 6, 7> будет <3, 4, 5> Чуть раньше была тема про разложение на слагаемые, она тебе может помочь, загляни в нее... |
barlog |
24.10.2006 19:03
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 27 Пол: Мужской Реальное имя: г Репутация: 0 |
Спасибо, постараюсь найти тему. Если ничего не получиться напишу.
|
barlog |
25.10.2006 22:45
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 27 Пол: Мужской Реальное имя: г Репутация: 0 |
Нашёл тему о разложение числа на слагаемые.
Вот один из способов заполнения массива 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 |
25.10.2006 23:52
Сообщение
#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 |
26.10.2006 16:32
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 27 Пол: Мужской Реальное имя: г Репутация: 0 |
Спасибо! Всё работает! Но кроме smallint аписал везде integer. Т.к паскаль не распазнают что такое smallint.
Вопрос закрыт! Ещё раз спасибо! |
Текстовая версия | 23.09.2024 2:10 |