С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
May
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 12
1

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

10.01.2015, 12:56. Просмотров 712. Ответов 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++ который будет выводить имеются ли в заданном одномерном...

Поиск одинаковых элементов в одномерном массиве
Необходимо определить есть ли в одномерном массиве одинаковые элементы....

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

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

5
S_el
2220 / 1683 / 354
Регистрация: 15.12.2013
Сообщений: 6,694
10.01.2015, 13:17 2
Цитата Сообщение от May Посмотреть сообщение
Как исправить?
Исправить что?
0
Тамика
Котовчанин
928 / 469 / 199
Регистрация: 16.02.2010
Сообщений: 3,304
Записей в блоге: 31
10.01.2015, 13:20 3

Не по теме:

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




Добавлено через 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
Тамика
Котовчанин
928 / 469 / 199
Регистрация: 16.02.2010
Сообщений: 3,304
Записей в блоге: 31
10.01.2015, 14:16 5
May, предлагаю Вам два пути.
1) Создать еще один массив из N элементов. И заполнить нулями. Как только у Вас один из элементов более одного раза повторяется(например число 8) - Вы соответствующему элементу с индексом повторяемого элемента сетите +1 (++mas[8]). Затем выводите только из нового массива и только те элементы, которые больше двух.
2) В лоб создать тоже еще один массив, но заполнять его теми элементами, которые повторяются. И с каждым циклом делать проверку. Этот способ глупее.
Я за первый. Вотъ.
0
chizz
983 / 502 / 102
Регистрация: 19.03.2013
Сообщений: 3,109
Записей в блоге: 19
Завершенные тесты: 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

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

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

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


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

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

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