![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
kr3v3tkus |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
Задали задачку:
массив [-40;30] константа 10 1.удалить эл-т если в нём есть цифра 1 2.если эл-т состоит из одной цифры или цифры одинаковы (22,33 итд) то вставить перед ним число К с клавы, соответственно при этом мдвинув все эл-ты вправо на 1 3.сделать замену 3х первых и последних эл-тов, сохраняя последовательность Вобщем 1 и 3 вроде сделал , а 2е НИКАК D: никак не получается нормально присвоить и сдвинуть ((( подскажите или натолкните на мыслю плз ЗЫ вроде в факе такого не нашёл, я тут первый раз, так что не бейте сапогами плиз
-------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
kr3v3tkus
Цитата 2.если эл-т состоит из одной цифры или цифры одинаковы (22,33 итд) то вставить перед ним число К с клавы, соответственно при этом сдвинув все эл-ты вправо на 1 У тебя же массив строго заданной размерности... А ели будет 5 элементов из одной цифры? В результате размерность массива должна равняться 15? Или ты что-то недоговариваешь? В-общем, вот вопрос: есть массив <2, 4, 6, 8, 0, 15, 19, 23, 22, 33> С клавиатуры вводится число "7" что будет в массиве после первого подзадания, что - после второго, а что - после третьего? |
kr3v3tkus |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
volvo после 1го действия должно быть так я думаю
2, 4, 6, 8, 0, 23, 22, 33 после 3го 23,22,33,0,2,4,6 По идее размерность может быть любой , для её отсчёта я и ввёл q q:=0; Но у меня встречный вопрос :D - если в 1ом действии изменится размерность массива, то изменится ли она во 2ом и 3ем действии? А ваще про размерность не сказано было так что впринципе ето не принципиально, я думаю лучше размерность взять нефиксированную. -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
kr3v3tkus,
проверь логику работы (у меня выполняются все 3 действия последовательно, но проблемы сделать это отдельно я не вижу)... Если пойдет - расскажу, что и как сделал, и почему у тебя было не совсем корректно ![]() program variant1; |
kr3v3tkus |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
volvo
вау! ![]() ![]() вобщем насчёт корректности я впринципе понял - модули, потомучто для отрицательных бы условие не покатило, сами условия не конкретны(mod11 - супер! в жисть бы не допёр), перестановка ваще рульная ![]() 1.если можно расскажи плз поканкретнее про downto на примере, а то почемуто до меня никак не доходит она ![]() 2.[1..2*n] - почему 2? это на случай увеличения массива? и вот - for i := n+1 to 2*n do a[i] := 0;( после ввода массива ) не совсем понял ето ( 3.и ещё если можно - то про процедуру чуть чуть, точнее про связь переменных в процедуре, а то в инсте как то объяснили странно про локал и глоб переменные, с учебников никак не могу тоге понять ![]() ЗЫ биг сенкс! пасибки что помог ![]() ![]() -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата 1.если можно расскажи плз поканкретнее про downto на примере В смысле? Само действие DownTo, что-ли? Так это просто... Если с To переменная цикла увеличивается на 1 (и стартовое значение должно быть меньше финального), то с DownTo наоборот, уменьшается (стартовое значение должно быть больше финального, чтобы цикл выполнялся...) For i := 1 to 10 Do Write(i:3); 1 2 3 4 5 6 7 8 9 10 For i := 10 DownTo 1 Do Write(i:3); 10 9 8 7 6 5 4 3 2 1 Цитата [1..2*n] - почему 2 Потому что в худшем случае (ничего не будет удалено на первом этапе и все элементы из одной цифры или кратны 11) длина исходного массива удвоится... Вот я и зарезервировал необходимое место ![]() После заполнения массива все оставшееся пустым место я заполняю нулями... Ну, не доверяю я компилятору... Цитата меня интересует почему мы вводим одни названия в процедуре, а потом как мы их связываем с названиями переменных в самой программе Мы даем в процедуре имя формальному параметру (и все действия должны производить именно с этим формальным параметром, потому что не знаем, что будет в Run-Time передано в процедуру фактически)... А вот при вызове процедуры/функции мы передаем какой-то объект, над которым хотим произвести действие, это - фактический параметр, ибо все, что мы задавали сделать в процедуре будет сделано именно с этим объектом... A и N в описании процедуры - формальный параметр, т.е. ты говоришь процедуре: "Что-то тебе будет передано... Пока назовем это A, когда получишь это что-то - над ним произведешь такие-то действия..." procedure print(const a: arr; const n: integer); При вызове же A и Q - фактические параметры (здесь просто так получилось, что имя обоих первых параметров совпадает, но это не обязательно...) print(a, q); |
kr3v3tkus |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
ух
![]() вроде понял ![]() -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 14:42 |