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

Дан одномерный массив, нужно подсчитать количество различных(не повторяющихся) элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить лежит ли окружность справа от прямой, проходящей через заданные точки http://www.cyberforum.ru/cpp-beginners/thread1813291.html
На плоскости заданы две точки и окружность. Определить лежит ли окружность справа от прямой, проходящей через точки. Не могу подобрать точки, чтобы получилось верное значение. Все время получается d>0. Может проблема в коде или формулах? #include "stdafx.h" #include "math.h" #include "conio.h" #include "locale.h" int _tmain(int argc, _TCHAR* argv) { setlocale(0,"rus");
C++ Заполнение массива случайными числами в заданном диапазоне Не могу заполнить массив данных типа float в диапазоне от -10 до 10.. Как это сделать ? http://www.cyberforum.ru/cpp-beginners/thread1813262.html
Создать класс Rational для арифметических действий с дробями и дружественную функцию для умножения дробей C++
Создать класс Rational для выполнения арифметических действий с дробями. Использовать целые переменные для представления закрытых данных этого класса - числителя и знаменателя и создать конструктор, позволяет объекта этого класса принимать начальные значения при его объявлении и методы сокращения дроби и печати в форме a / b, где а - числитель, b- знаменатель. реализовать: ⎯ класс Rational1,...
В заданном одномерном массиве найти максимальное и минимально значение и обнулить все значения между ними C++
Здравствуйте, у меня такая проблема. Дан одномерный массив из рандомных чисел, нужно найти максимальное и минимально значение, а потом обнулить все значения между максимум и минимум обнулить Например: Дан такой массив: 11 4 7 2 1 9 4 7 3 Вывести должен такой: 1 0 0 0 0 0 0 0 11 Как реализовать это? У меня есть идея, но слишком сложная, можно ли как нибудь сделать без доп. массивов или...
C++ Описать структуру с именем WORKER http://www.cyberforum.ru/cpp-beginners/thread1813234.html
Описать структуру с именем WORKER, которая содержит следующие поля: NAME - фамилия и инициалы работника; POS - название должности; YEAR - год принятия на работу; MONTH - месяц приема на работу. Написать программу, отдельными функциями выполняет следующие действия: ввод с клавиатуры данных в массив TABL, состоящий из N переменных типа WORKER; упорядочения записей в алфавитном порядке;...
C++ Какие механизмы обеспечивают разделение интерфейса и реализации? Добрый день! Не подскажите какие механизмы обеспечивают разделение интерфейса и реализации? Чем больше – тем лучше. подробнее

Показать сообщение отдельно
GbaLog-
Любитель чаепитий
2589 / 1128 / 281
Регистрация: 24.08.2014
Сообщений: 4,131
Записей в блоге: 1
Завершенные тесты: 2
25.09.2016, 13:51     Дан одномерный массив, нужно подсчитать количество различных(не повторяющихся) элементов
Цитата Сообщение от A1eksa Посмотреть сообщение
получается размерность массива должна быть постоянна?
Да, если размер будет известен только во время выполнения программы, то нужен "динамический массив"(в кавычках потому, что в С++ нет динамических массивов, но это другая история, поэтому будем называть вот так).

Добавлено через 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
///////////////////////////////////////////////////////////
#include <iostream>
///////////////////////////////////////////////////////////
int main()
{
    int n{};
    int unique_elem{};
    std::cin >> n;
    int* array = new int[n];
    
    for( int i{}; i < n; ++i )
    {
        std::cin >> array[i];
        if( i == 0 )
        {
            ++unique_elem;
            continue;
        }
        
        bool continue_ = false;
        for( int j{}; j < i; ++j )
        {
            if( array[i] == array[j] )
            {
                continue_ = true;
                break;
            }
            
        }
        if( !continue_ )
            ++unique_elem;
    }
    std::cout << unique_elem << std::endl;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru