1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 149
|
||||||
1 | ||||||
Удалить в массиве все числа, которые повторяются более двух раз25.11.2017, 14:14. Показов 13355. Ответов 4
Метки нет (Все метки)
После генерации чисел и нахождения одинаковых чисел, программа уходит в бесконечный цикл. Не могу понять, где я напортачил. Подскажите, пожалуйста. Может как-то можно оптимизировать и уменьшить код.
0
|
25.11.2017, 14:14 | |
Ответы с готовыми решениями:
4
Удалить в массиве все числа, которые повторяются более двух раз Удалить в массиве все числа, которые повторяются более двух раз Удалить в массиве все элементы, которые повторяются более двух раз Каждое второе число в массиве, которые повторяются более 2 раз, удалить |
926 / 457 / 230
Регистрация: 02.06.2016
Сообщений: 730
|
|
25.11.2017, 14:55 | 2 |
Сообщение было отмечено comcor2013 как решение
Решение
comcor2013, во всех циклах замени
arr.Length на n .
1
|
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 149
|
|
25.11.2017, 15:08 [ТС] | 3 |
0
|
926 / 457 / 230
Регистрация: 02.06.2016
Сообщений: 730
|
|
25.11.2017, 15:32 | 4 |
comcor2013, т.к. на самом деле ничего не удаляется, а сдвигается влево, то длина массива
arr.Length не менятся, в хвосте массива остается "мусор". Если парный элемент попал на конец массива, то из-за j-- он будет сравниваться сам с собой бесконечно много раз. Но т.к. у нас есть виртуальная граница n между полезными даннными и мусорными, то можно ориентироваться по ней.
0
|
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 149
|
|
25.11.2017, 15:41 [ТС] | 5 |
Aael, понял. Благодарю
0
|
25.11.2017, 15:41 | |
25.11.2017, 15:41 | |
Помогаю со студенческими работами здесь
5
удалить все символы которые повторяются более раз Вывести цифры шестнадцатеричного представления числа, которые повторяются более двух раз Найти и вывести на экран все элементы, которые которые повторяются более N/2 раз Найти минимильное значение среди чиcел которые не повторяются, или повторяются не более 2-х раз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |