|
0 / 0 / 0
Регистрация: 25.06.2024
Сообщений: 4
|
|
Дан массив длины n, n - четное. определить, совпадают ли первая и вторая половина массива25.06.2024, 13:28. Показов 2442. Ответов 44
Метки нет (Все метки)
дан массив длины n, n - четное. определить, совпадают ли первая и вторая половина массива
Программа в С#
0
|
|
| 25.06.2024, 13:28 | |
|
Ответы с готовыми решениями:
44
Определить совпадают ли первая и вторая половина массива Произвести сортировку данного числового массива так, чтобы первая половина массива была упорядочена по возрастанию, а вторая половина - по убыванию Задан массив чисел G (K), где К - четное число. Определить является ли первая половина его элементов упорядоченной |
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,022
|
||||||
| 28.06.2024, 15:55 | ||||||
|
бабушка Прасковья Михайловна, когда делала за внука дом. задание по C#, употребляла следующее выражение,
чтобы обезопаситься от возможных отрицательных значений индексной переменной i :
0
|
||||||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
||
| 28.06.2024, 16:00 | ||
|
Если целевая версия не поддерживает отрицательную индексацию, то программист, а также компилятор должен понимать, что к чему и для чего. Нет? Иначе говоря: если нет поддержки обратной индексации с унарным минусом, то откуда ей там взяться с циркумфлексом? Какая там обратная совместимость?
0
|
||
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,022
|
||||||
| 28.06.2024, 16:01 | ||||||
|
Raku
0
|
||||||
|
Администратор
|
||
| 28.06.2024, 16:23 | ||
|
YuS_2, я понял. Обратная совместимость для вас пустой звук.
0
|
||
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,022
|
||
| 28.06.2024, 17:34 | ||
|
0
|
||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||
| 28.06.2024, 19:21 | |||
|
Если говорить не вообще, а о частном случае, то не вижу проблемы в совместимости индексации с унарным минусом. Гипотетическая ситуация:
0
|
|||
|
Администратор
|
||
| 01.07.2024, 12:58 | ||
|
YuS_2, в данном случае ущерба для развития нет. Оператор в наличии. То что он отличается от более распространенного минуса мелочь к которой легко привыкнуть.
Насчет гипотетичности моего примера согласен. Я ни разу не видел такого кода. Вообще аргумент про обратную совместимость это только мое предположение. Удалось найти заметки авторов языка. Они пишут про большое количество проблем с "-", включая разрешение перегрузок. Обратная совместимость не упоминается. Может они думали о ней, может нет.
1
|
||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
||||
| 01.07.2024, 14:59 | ||||
|
Если бы перечислили бы те проблемы, было бы проще понять. А про выбор циркумфлекса...
![]() Конечно, хотелось бы однообразия (ещё раз упомяну, что ведь на момент введения циркумфлекса, уже была в наличии реализация с унарным минусом в powershell (.NET), поэтому и выглядит он как велосипед с квадратными колесами). Ну, да ладно, все равно, повлиять на это нет возможности, поэтому согласен:
0
|
||||
|
Модератор
|
|||||||
| 01.07.2024, 20:03 | |||||||
array[^1] - это ведь гораздо более кошерно, чем array[-1], хоть и являются синонимами..., то как интерпретировать array[-5]? Это минус пятый элемент, или пятый с конца (то есть нулевой)?Добавлено через 5 минут Или пятый от Count?Выражение array[^5] интерпретируется как array[array.Count - 5] и, в данном случае, будет выкинуто исключение поскольку указывает на пятый по индексу элемент, а самый старший - четвёртый.
0
|
|||||||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||||||
| 01.07.2024, 20:51 | |||||||
|
Я лучше на примере покажу:
То бишь, отрицательные индексы начинаются с 1, точно также как и индексы с циркумфлексом в C#
0
|
|||||||
|
Администратор
|
||
| 01.07.2024, 20:53 | ||
-i лучше подходит.
0
|
||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
||
| 01.07.2024, 20:55 | ||
|
array[^5] в массиве из пяти элементов, будет указывать на элемент с индексом 0... или о чем речь?
0
|
||
|
Модератор
|
|||
| 01.07.2024, 22:12 | |||
|
В нём создаётся массив с количеством элементов Count=10 и индексами [-5...0....4].А выражение array[^5] обращается к элементу [5]. Это выход за допустимые пределы индекса.Добавлено через 1 минуту -5?
1
|
|||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
||||||||
| 01.07.2024, 23:33 | ||||||||
Вы, хотите сказать, что с минусами в индексах, может возникнуть путаница или чойта? ![]() В том смысле, что:
Добавлено через 26 минут Тогда, аргумент железный. Хоть и непонятно, для чего реализовали такую возможность подобной индексации, но тут конкретная коллизия с минусами и циркумфлекс - хороший компромисс. Добавлено через 7 минут но с такими массивами циркумфлекс не работает... мда, уж... надо читать документацию, метод тыка не очень хорош для восприятия...
0
|
||||||||
|
Модератор
|
||
| 02.07.2024, 00:08 | ||
|
Индекс используется для получения/задания связанного значения в индексируемой коллекции. Индекс, в общем случае, может быть любого типа. И, соответственно, нет обязательности непрерывности коллекции. Простейший пример - словарь. Один из видов индексируемой коллекции - это списки IList и IList[T]. Количество элементов в списках возвращает свойство Count.Одномерный Массив T[] в Шарпе - это один из видов списка. Количество элементов в массиве возвращает свойство Length или свойство Count явной реализации интерфейса IList. Массивы всегда начинают индексацию с нуля и имеют непрерывную индексацию от 0 до Length - 1.Но, в общем случае, к спискам это не относится. Список может иметь любую индексацию, хотя в типовых реализациях правила индексации такие же как и в массивах. Ваше предложение, с натяжкой, можно применить только к массивам T[], так как в них нет отрицательных элементов.В моём пример показано создание ОДНОМЕРНОГО массива T[*]. Массивы такого типа имеют тоже непрерывную индексацию, но могут начинаться с любой позиции, в том числе с отрицательной. Массивы такого типа есть в .Net, но их нет в Шарпе. Поэтому для его использования в Шарпе надо "извернуться". В моём примере я его использую через приведение к списку IList.Вот пример инициализации элементов массива: Как при принятии вашего предложения, получить, например, значение элемента array[-2]=43?
0
|
||
|
Модератор
|
||||
| 02.07.2024, 00:28 | ||||
[^число]. В Шарпе это "синтаксический сахар" заменяющий такое выражение [Count - число].То есть для списка длиной 10, выражение [^5] указывает всегда на элемент [5]. Но если индексация списка начинается не с нуля, то индекса 5 может не быть в списке. В моём примере, старший (верхний) индекс равен 4. Поэтому попытка доступа к элементу с индексом 5 выкинет исключение.Добавлено через 9 минут На мой взгляд наложение ограничения на индексы T[] излишне. Да, редко бывает нужно, чтобы они не начинались с нуля, но такое бывает нужно.Скорее всего, такое правило введено, для упрощения проверок и переборов массивов. Но стоило ли ради этого накладывать доп ограничения.... Не уверен.
0
|
||||
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,022
|
||||||
| 02.07.2024, 10:12 | ||||||
0
|
||||||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||||
| 02.07.2024, 10:53 | |||||
array[array.Count - 0] - выход за границы массива array[^0] (исключение)array[array.Count - 1] - первый элемент с конца массива array[^1]array[array.Count - 2] - второй элемент с конца массива array[^2]array[array.Count - 3] - третий элемент с конца массива array[^3]и т.д. Т.е., в общем случае, по сути, это полный аналог отрицательных индексов в других ЯП, a[-1], a[-2], a[-3].... Разве нет?Всю картину "портит" наличие нестандартной индексации, но с такими массивами и циркумфлекс не работает, выкидывая исключение. Да и в документации, есть упоминание:
Хоть и:
0
|
|||||
|
2406 / 1938 / 763
Регистрация: 27.07.2012
Сообщений: 5,576
|
|
| 02.07.2024, 11:09 | |
|
0
|
|
| 02.07.2024, 11:09 | |
|
Заполнить массив Y таким образом, чтобы в нем сначала оказалась вторая половина исходного массива X, а затем первая Заполнить массив Y таким образом, чтобы в нем сначала оказалась вторая половина исходного массива X, а затем первая
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью.
Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
|
|
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
|
Грибы - это корпорации, деревья - это государства. Механизм массонского захвата власти
anaschu 18.07.2026
Макроэкономический изоморфизм теории «всего»: Грибная сукцессия как модель транснационального капитализма
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а. . .
|
Расчёт периметра прямоугольника по координатам вершин
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Вычислить периметр прямоугольника, заданного координатами своих вершин на плоскости.
Решение:
Создан документ со следующими. . .
|
Подсчёт частоты трёхбуквенных слов в тексте
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Выясните, сколько раз в предложенном тексте встречается каждое трехбуквенное слово.
Решение:
Создан документ с единственным. . .
|