Массивы (интересно), давайте подумаем вместе |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Массивы (интересно), давайте подумаем вместе |
vovsik |
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Репутация: 0 |
Вот задачка: даны два неубывающих массива целых чисел (размерностями k и l). Найти число различных элементов среди них. И вот в чем весь прикол: ЧИСЛО ДЕЙСТВИЙ - ПОРЯДКА СУММЫ РАЗМЕРНОСТЕЙ ЭТИХ МАССИВОВ (K+L)
|
BlackShadow |
Сообщение
#2
|
Гость |
Код Type TArray=Array[Integer] Of Boolean; Var i,n:Integer; Present:^Taray; Const k=...; l=...; m1:Array[1..k] Of Integer = (...); m2:Array[1..l] Of Integer = (...); Begin New(Present); For i:=-32768 To 32767 Do Present^[i]:=False; For i:=1 To k Do Present[m1[i]]:=True; For i:=1 To l Do Present[m2[i]]:=True; n:=0; For i:=-32768 To 32767 Do If Present^[i] Then Inc(n); WriteLn(n); Dispose(Present) End. Сложность реализации оценивается как O(k+l). kile, а что такое "лол"? |
Текстовая версия | 4.05.2024 15:53 |