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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.71
dobro
Сообщений: n/a
#1

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

18.12.2010, 10:54. Просмотров 3859. Ответов 5
Метки нет (Все метки)

Дан динамический массив, размерность которого вводится с клавиатуры. Нужно найти одинаковые элементы и вывести их следующим образом:
Выводится значение элемента и количество раз, которые он повторяется.
Если элемент не повторяется, то его номер и надпись, гласящую от том, что элемент не повторяется.
Единственная сложность заключается в следующем - как сделать так, чтобы повторяющийся элемент выводился только один раз? Сортировать массив нельзя, т.к. мы поменяем его порядковый номер в таком случае.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2010, 10:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одинаковые элементы в массиве. (C++):

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

Найти одинаковые элементы в массиве - C++
Массив A содержит только два одинаковых числа. Найти эти числа и указать их индексы #include <stdio.h> int A = { { 0, 1, 2, 3, 4,...

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

найти одинаковые элементы в массиве/Цикл - C++
void MyPro::myreplace(int a){ QStringList arrayNumbers_of_ChangeTextEdits; for (int...

Определить, содержатся ли в одномерном массиве одинаковые элементы - C++
Определить, содержатся ли в одномерном массиве одинаковые элементы. Помогите плз парни..

Определить имеются ли в одномерном массиве одинаковые элементы - C++
Определить имеются ли в одномерном массиве одинаковые элементы.

5
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.12.2010, 11:33 #2
Цитата Сообщение от dobro Посмотреть сообщение
Единственная сложность заключается в следующем - как сделать так, чтобы повторяющийся элемент выводился только один раз?
Можно проверить все элементы которые находятся до текущего проверяемого элемента (если есть хоть один элемент равный текущему проверяемому, то информацию по текущему проверяемому вообще не выводить).
0
dobro
Сообщений: n/a
18.12.2010, 13:32 #3
Это тоже приходило мне в голову, но всё же, как сделать, чтобы со всеми элементами происходил такой вывод?
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.12.2010, 13:41 #4
Берем очередной элемент, проверяем встречался он ранее или нет. Если встречался, переходим сразу к проверке следующего элемента. Если не встречался, смотрим сколько таких же элементов встречается после этого элемента. Выводим результат. Переходим к следующему элементу.
0
coraline
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 5
21.12.2010, 23:07 #5
а как это примерно выгдлядит в программе? как сделать поиск повторяющихся элементов?
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.12.2010, 23:21 #6
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
#include "stdio.h"
int main()
{
    const int N=9;
        int A[N], i, j;
                for(i=0; i<N; i++)
                {
                        printf("[%d]= ", i);
                        scanf("%d", &A[i]);
                }
                for(i=0; i<N; i++)
                {
                        int temp=0;
                        for(j=0; j<i; j++)
                                if(A[i]==A[j])
                                        temp++;
                                if(temp==0)
                                {
                                        for(j=i+1; j<N; j++)
                                                if(A[i]==A[j])
                                                        temp++;
                                        if(temp==0)
                                            printf("Element [%d]=%d ne povtor\n", i, A[i]);
                                        else
                                            printf("Element [%d]=%d povtor %d raza\n", i, A[i], temp+1);                                                
                                }
                }
         return 0;
}
Под динамический массив наделаюсь сами сможете переделать.
0
21.12.2010, 23:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2010, 23:21
Привет! Вот еще темы с ответами:

Определить,имеются ли в двумерном массиве одинаковые элементы. - C++
Определить,имеются ли в двумерном массиве одинаковые элементы.

Определить или в двумернам массиве есть одинаковые элементы. - C++
Помогите пожалуйсто :boredom: C++: Определить или в двумернам массиве есть одинаковые элементы.

Выяснить есть ли в двумерном массиве строка содержащие одинаковые элементы - C++
дан двумерный массив A (n * m) выяснить есть ли в нем строка содержащие одинаковые элементы C++

Вывести одинаковые элементы которые есть в первом и втором массиве - C++
Помогите изменить статический массив на динамический #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int main() ...


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

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

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