0 / 0 / 0
Регистрация: 29.10.2017
Сообщений: 20
|
|
1 | |
Переписать в массив вначале все элементы исходного массива с четными номерами, а затем — с нечетными05.01.2018, 17:12. Показов 2834. Ответов 7
Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B того же размера вначале все элементы исходного массива с четными номерами, а затем — с нечетными: A2, A4, A6, …, A1, A3, A5, … .
0
|
05.01.2018, 17:12 | |
Ответы с готовыми решениями:
7
Вывести вначале элементы массива с четными индексами, а затем - с нечетными. Сформировать два массива: в первый включить элементы исходного с четными номерами, а во второй с нечетными Переписать в новый целочисленный массив B все элементы с нечетными порядковыми номерами Переписать в новый целочисленный массив B все элементы с нечетными порядковыми номерами. |
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
|
||||||
07.01.2018, 16:06 | 2 | |||||
Сообщение было отмечено naru2vlad как решение
Решение
0
|
Модератор
|
||||||
08.01.2018, 20:37 | 3 | |||||
0
|
Модератор
10061 / 5403 / 3353
Регистрация: 17.08.2012
Сообщений: 16,533
|
||||||
08.01.2018, 22:52 | 5 | |||||
i mod 2 в виде текста, конечно, короче получается. Однако, взятие остатка от деления - достаточно дорогостоящая операция.
Если уж сокращать, то лучше будет (i and 1). Насчёт Ord(Odd(i)) - интересная штука получается. Как ни странно, это эквивалент (i and 1), поскольку компилируется это дело (по крайней мере, в FPC) как раз в
1
|
Модератор
10061 / 5403 / 3353
Регистрация: 17.08.2012
Сообщений: 16,533
|
||||||
09.01.2018, 00:30 | 7 | |||||
Новичок, ??? В данном случае, конечно же, не может быть и речи о результате, который ты ожидаешь. Откуда компилятору знать, что тебе нужно?
Поэтому он i mod 2 компилирует примерно в
Пример: ord(odd(-5)) = 1 -5 mod 2 = -1 Мелочь, вроде бы, но... Не мелочь. Определение чётности с помощью i mod 2 - это, на самом деле, такая бомба замедленного действия. Сидит себе в программе, до поры до времени никаких ошибок, а потом: бац! И долгие танцы с бубном.
2
|
Модератор
|
|
09.01.2018, 14:32 | 8 |
Это если зачем-то сравнивать с 1. Но для сравнения с нулем знак безразличен: i mod 2 <> 0
Тем не менее, FPC 3.0.4 и тут без деления обойтись не сможет даже с включенной оптимизацией (-Ox) от 1 до 4. ... но не нужно, неспроста оно там написано, выше Cyborg Drone пояснил, почему :-)
1
|
09.01.2018, 14:32 | |
09.01.2018, 14:32 | |
Помогаю со студенческими работами здесь
8
Создать два файла, первый из которых содержит элементы исходного с нечетными номерами, а второй — с четными Поменять местами элементы с четными и нечетными номерами содномерного массива Создать два новых файла, первый из которых содержит элементы исходного файла с четными номерами, а второй — с нечетными. Сформировать два массива, включая в первый четные элементы исходного массива с нечетными индексами, а во второй нечетные элементы с четными индексами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |