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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить количество ведущих нулей старшего байта short int http://www.cyberforum.ru/cpp-beginners/thread789012.html
Представить программу, позволяющую для заданного целочисленного объекта short int определить количество ведущих нулей старшего его байта
C++ Используя одну переменную цикла укажите возможные способы объявления заголовка счетного цикла. Используя одну переменную цикла укажите возможные способы объявления заголовка счетного цикла. http://www.cyberforum.ru/cpp-beginners/thread789009.html
В строке, содержащей несколько слов, разделенных пробелом, переставить слова в обратной последовательности C++
Задание 1 В строке, содержащей несколько слов, разделенных пробелом, переставить слова в обратной последовательности. Входные данные: abcde fghik lmnop qrst uxyz Выходные данные: uxyz qrst lmnop fghik abcde
Массив строк. Вывести строки, в которых имеется самая длинная цепочка символа «*» C++
Написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести строки, в которых имеется самая длинная цепочка символа «*». В каждой такой строке оставить только по одному символу «*». Нахождение и удаление символов оформить в виде функций.
C++ Массив символов (Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов) http://www.cyberforum.ru/cpp-beginners/thread788968.html
Написать программу, в которой с клавиатуры вводится строка символов. Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов. Подсчет количества слов в строке оформить в виде функции. Примечание: В качестве вводного материала к задаче поясняется, что: 1) слово представляет собой цепочку любых символов отличных от пробела; 2) в...
C++ Чтение/анализ строки текста Уважаемые господа, помогите советом. Нужно строку текста (из четного кол-ва символов) разбить в на фрагменты по два символа (задать программу для чтения строки). Как реализовать подобное? Комментариями сопровожу по необходимости, заранее спасибо) подробнее

Показать сообщение отдельно
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
18.02.2013, 14:28     Подсчитать количество различных элементов
Смари, старина, так намного изящнее)))

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>
#include <set>
 
template <class T> 
int NumberOfDifferentElements( T arr[], int arrSize )   
{
    std:: set<T> elements; // сюда сколько не пихай целых чисел, дубликатов не будет
    for( int i = 0; i < arrSize; i++ )  
    {   // вот и запихиваем сюда все элементы анализируемой строки матрицы
        elements.insert( arr[i] );
    }
    return elements.size(); // просто возвращаем кол-во элементов
}
 
int main()
{   // подготавливаем данные
    const int numberOfRows = 5;
    const int numberOfColumns = 5;
    int anArr[ numberOfRows ][ numberOfColumns ] = {
        1, 2, 3, 4, 5,
        1, 1, 5, 7, 3,
        2, 2, 2, 2, 3,
        3, 2, 1, 2, 4,
        2, 4, 5, 6, 7
    };
    
    for( int row = 0; row < numberOfRows; row++ )
    {   // обрабатываем теперь каждую строку и выводим результат:
        std:: cout << "row " << row << " contains " <<
            NumberOfDifferentElements( anArr[ row ], numberOfColumns ) <<
            " different values" << std:: endl;
    }
    return 0;
}

И функа работает для любых элементов, для которых определен оператор ==
 
Текущее время: 12:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru