Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/48: Рейтинг темы: голосов - 48, средняя оценка - 4.67
26 / 26 / 26
Регистрация: 01.10.2015
Сообщений: 175
1

Как сравнить элемент массива с другими элементами этого же по значению?

01.10.2015, 21:19. Показов 8761. Ответов 10
Метки нет (Все метки)

Здравствуйте, мне нужно сравнить определенный элемент массива с другими элементами по значению. К примеру дан массив чисел. Мне нужно сравнить его элемент по значению. То есть встречаются ли в нем другие элементы одинакового значения.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2015, 21:19
Ответы с готовыми решениями:

Как сравнить элемент массива со всеми остальными элементами?
подскажите как сравнить элемент массива со всеми элементами...первый со всеми..второй...и так до...

Сравнить элемент одного массива со всеми элементами другого массива
Есть массив с разрешеными символами (английский алфавит) И есть массив со всеми введёнными...

Сравнить искомый элемент поочерёдно с элементами массива
Помогите пожалуйста с написанием следующей программы: 1.Осуществить ввод массива одним из...

Как можно взять один элемент двумерного массива и сравнить его с элементами его строки?
Или столбца.

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
10
управление сложностью
1661 / 1277 / 254
Регистрация: 22.03.2015
Сообщений: 7,481
Записей в блоге: 5
02.10.2015, 10:14 2
Ну а в чем сложность тогда ? Берете элемент массива и в цикле перебираете остальные на сравнение с ним.
0
26 / 26 / 26
Регистрация: 01.10.2015
Сообщений: 175
02.10.2015, 16:06  [ТС] 3
А вот как? Как перебрать?
К примеру вот код:

int *Array_of Random = new int[array_size]
for(int i = 0; i < array_size; i++)
{
int random_number = (rand() % array_size) - 1;
Array_of_Random_number[i] = random_number;
}

Теперь нужно сравнить есть ли одинаковы элементы в этом массиве.
То есть дан индекс Array_of_Random[i] и нужно сравнить по значению есть ли одинаковые элементы
0
Котовчанин
940 / 480 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
02.10.2015, 16:09 4
Default_070, запускаете новый двойной фор. В первом инкрементируете сравниваемое, во втором - индекс массива.
0
26 / 26 / 26
Регистрация: 01.10.2015
Сообщений: 175
02.10.2015, 16:40  [ТС] 5
Проблема в том, что я не знаю что сравниваю. Функция rand() сгенерировала целые числа и я их записал в массив Array_of_Random. И мне нужно проверить среди них есть ли одинаковые? Такое вообще можно написать?
0
Котовчанин
940 / 480 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
02.10.2015, 16:44 6
Default_070,
C++
1
2
3
4
5
6
7
8
9
10
11
    int *Array_of_Random = new int[array_size];
    for(int i = 0; i < array_size; i++)
    {
        int random_number = (rand() % array_size) - 1;
        Array_of_Random[i] = random_number;
    }
 
    int same = 0;
    for (int i = 0; i < array_size; ++i)
        for (int j = 0; j < array_size; ++j)
            if (Array_of_Random[j] == Array_of_Random[i]) same++;
1
26 / 26 / 26
Регистрация: 01.10.2015
Сообщений: 175
02.10.2015, 16:47  [ТС] 7
Насколько я понял этот код сравнивает соседние(или одни и те же значения), а как быть если индексы с одинаковым значением находятся скажем через 3 индекса друг от друга?
0
Котовчанин
940 / 480 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
02.10.2015, 16:48 8
Default_070, этот код берёт элемент массива и сравнивает его со всеми элементами массива на равность. Какая разница через сколько индексов в разнице? Если есть хоть одно совпадение - сейм будет больше единицы.
0
26 / 26 / 26
Регистрация: 01.10.2015
Сообщений: 175
02.10.2015, 16:56  [ТС] 9
Может мне кажется, но это вроде неправильно, я вероятнее всего ошибаюсь. Я скомпилировал этот код и у меня sum > array_size.
И еще по-моему ты сравниваешь одни и те же элементы. Они вместе увеличиваются на единицу и принадлежат одному массиву.
0
Котовчанин
940 / 480 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
02.10.2015, 17:02 10
Default_070, в конце нужно вычесть ещё array_size, потому что при совпадении i == j переменная заинкрементится тоже.
0
26 / 26 / 26
Регистрация: 01.10.2015
Сообщений: 175
02.10.2015, 17:12  [ТС] 11
Тамика, прости мою навязчивость. Просто мне непонятно как он перебирает все элементы.
Сначала (array_size = 4) Array_of_random[0] сравнивается сравнивается с Array_of_random[0]?
Расскажи, буду благодарен.

Добавлено через 3 минуты
Все спасибо за алгоритм. Я сам разобрался очень благодарен.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2015, 17:12

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как сравнить символы ячеек массива с другими символами в case?
Доброго времени суток!Как сравнить 11 ячеек с введенными символами в процедуре с какими-либо...

Как сравнить элемент массива?
как сравнить елемент массива? mas j в нем записана цифра 46 мне нужно найти его номер по...

Как сравнить элемент двумерного массива?
if (map != map) массив char

Сравнить переменную с элементами массива
string sh = ss1.Split('/'); Есть некий массив и есть переменная. Содержимое которой нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.