Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
May
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 12
#1

Поиск одинаковых элементов в массиве - C++

10.01.2015, 12:56. Просмотров 641. Ответов 5
Метки нет (Все метки)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 10
int main()
{
    srand(time(NULL));
    int Arr[N];
    int A;
 
    for (int i = 0; i < N; ++i){
        //scanf("%d", &Arr[i]);
        Arr[i] = rand() % 10 + 1;
        printf("%d ", Arr[i]);
    }
    printf("\n");
    
    for (int j = 0; j < N;){
        int cnt = 0;
        int a;
    for (int i = N; i >= 0; i--){
            A = Arr[j];
            if (A == Arr[i]){
                cnt++;
            }
    }
    if (cnt >= 2){
        
            printf("%d %d\n", Arr[j], cnt);
            
        }
        j++;
    }
 
    return 0;
}
Как исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2015, 12:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поиск одинаковых элементов в массиве (C++):

Поиск одинаковых элементов в массиве - C++
Нужно написать код c++ который будет выводить имеются ли в заданном одномерном массиве повторяющиеся элементы(массив динамический(malloc))...

Поиск одинаковых элементов в массиве - C++
помогите найти ошибку в программе. программа должна найти различные элементы в массиве и и напечатать количество их повторений. #include...

Поиск одинаковых элементов в одномерном массиве - C++
Необходимо определить есть ли в одномерном массиве одинаковые элементы. Программа находит одинаковые элементы , но она пропускает последний...

Поиск одинаковых элементов в массиве и выдача их на экран - C++
Помогите составить функцию, которая определяет, есть ли в массиве A одинаковые элементы и выдает на экран такие числа и их индексы. Не мону...

Поиск максимального количества одинаковых элементов в одномерном массиве - C++
Дан целочисленный массив размера N.Найти максимальное количество его одинаковых элементов. Программа работает неправильно помогите найти...

Поиск самой длиной серии одинаковых элементов в двумерном массиве - C++
Помогите, нужно найти самую длинную серию одинаковых элементов в двумерном массиве.

5
S_el
2133 / 1661 / 313
Регистрация: 15.12.2013
Сообщений: 6,583
10.01.2015, 13:17 #2
Цитата Сообщение от May Посмотреть сообщение
Как исправить?
Исправить что?
0
Тамика
Котовчанин
918 / 462 / 145
Регистрация: 16.02.2010
Сообщений: 3,264
Записей в блоге: 28
10.01.2015, 13:20 #3

Не по теме:

S_el, перевести в плюсы.




Добавлено через 21 секунду
Цитата Сообщение от May Посмотреть сообщение
for (int j = 0; j < N{
* * * * int cnt = 0;
* * * * int a;
А это что за новость?
0
May
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 12
10.01.2015, 13:46  [ТС] #4
int a; забыла удалить.
Дело в том, что printf выводит одинаковые числа столько раз, сколько их встречает. Как это исправить???

Добавлено через 4 минуты
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 10
int main()
{
    srand(time(NULL));
    int Arr[N];
    int A;
 
    for (int i = 0; i < N; ++i){
        //scanf("%d", &Arr[i]);
        Arr[i] = rand() % 10 + 1;
        printf("%d ", Arr[i]);
    }
    printf("\n");
    
    for (int j = 0; j < N;){
        int cnt = 0;
    for (int i = 0; i <N; i++){
            A = Arr[j];
            if (A == Arr[i]){
                cnt++;
            }
    }
    if (cnt >= 2){
        
            printf("%d %d\n", Arr[j], cnt);
            
        }
        j++;
    }
 
    return 0;
}
вот вам без int а и с плюсами!
0
Тамика
Котовчанин
918 / 462 / 145
Регистрация: 16.02.2010
Сообщений: 3,264
Записей в блоге: 28
10.01.2015, 14:16 #5
May, предлагаю Вам два пути.
1) Создать еще один массив из N элементов. И заполнить нулями. Как только у Вас один из элементов более одного раза повторяется(например число 8) - Вы соответствующему элементу с индексом повторяемого элемента сетите +1 (++mas[8]). Затем выводите только из нового массива и только те элементы, которые больше двух.
2) В лоб создать тоже еще один массив, но заполнять его теми элементами, которые повторяются. И с каждым циклом делать проверку. Этот способ глупее.
Я за первый. Вотъ.
0
chizz
982 / 499 / 54
Регистрация: 19.03.2013
Сообщений: 3,095
Записей в блоге: 18
Завершенные тесты: 1
10.01.2015, 14:36 #6
May, отсортируйте массив по возрастанию, потом возьмите код отсюда: Нахождение уникальных элементов в массиве

Добавлено через 2 минуты
Либо после сортировки реализуйте логику:

Поставьте флажок = 0.
Если следующее число, равно предыдыщему и флажок !=1, вывести его, поставить флажок 1.
Если следующее число равно предыдущему и флажок = 1, ничего не делать, перейти к следующему.
Если следующее число не равно предыдущему поставить флажок = 0, перейти к следующему.
1
10.01.2015, 14:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2015, 14:36
Привет! Вот еще темы с ответами:

Поиск самой длинной цепочки из подряд идущих одинаковых элементов в массиве - C++
Помогите пожалуйста решить программу. Если можно как можно проще используя только циклы, ветвления , массивы и переменные. Сам не...

Поиск 2-х и более одинаковых чисел в массиве - C++
Программа должна находить в массиве значения, встречающиеся 2 и более раз. Проблема в том, что если одинаковых чисел 4 и больше, то в...

Подсчет одинаковых элементов в массиве - C++
Как посчитать элементы массива чтобы они не повторялись т.е. вот например: есть массив 1 1 1 2 3 4 4 4 5 5 6 4 4 7 считаем: for(int j...

Поиск одинаковых элементов - C++
написал программу поиска одинаковых элементов, а вот если их там нет у меня блин не получается вывести просто &quot;одинаковых элементов нет&quot;,...


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

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

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