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

Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве - C++

Восстановить пароль Регистрация
 
Alex_sandra
 Аватар для Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
17.03.2014, 22:58     Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве #1
Помогите пожалуйста) Это срочно нужно)

Дан одномерный массив Х, состоящий из 20 целых чисел. Составить программу, которая подсчитывает количество разных по значению элементов в нем.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2014, 22:58     Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве
Посмотрите здесь:

Написать программу которая подсчитывает количество бит на цифру C++
Составить программу, которая вычисляет количество элементов одномерного массива Х, состоящего из 15 вещественных чисел, которые равняются по значению C++
C++ С клавиатуры вводится строка. Составить программу, которая подсчитывает количество чисел в тексте
C++ Используя функцию, составить программу, которая считает количество изменений знака в массиве чисел. y=f(x). В С++
Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
17.03.2014, 23:09     Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве #2
Красивая. Поможем.

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
38
39
40
41
/*
Дан одномерный массив Х, состоящий из 20 целых чисел.
Составить программу, которая подсчитывает количество
разных по значению элементов в нем.
*/
 
#include <stdlib.h>
#include <ctime>
#include <iostream>
 
int main(void)
{
    setlocale(0, "rus");
    srand(static_cast<unsigned int>(time(NULL)));
 
    const int N = 20;
    int arr[N];
    for (int i = 0; i < N; ++i)
        arr[i] = rand() % N;
 
    std::cout << "Исходный массив: ";
    for (int i = 0; i < N; ++i)
        std::cout << arr[i] << ' ';
    std::cout << std::endl;
 
    int count = 0;
    for (int i = 0; i < N; ++i)
    {
        int j = i + 1;
        for (; j < N; ++j)
        {
            if (arr[i] == arr[j])
                break;
        }
        if (j == N)
            ++count;
    }
 
    std::cout << "Количество разных элементов: " << count << std::endl;
    system("pause");
}
Alex_sandra
 Аватар для Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
17.03.2014, 23:13  [ТС]     Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве #3
спасибо за красивую)) и за задачу тоже)))
Байт
 Аватар для Байт
13965 / 8796 / 1223
Регистрация: 24.12.2010
Сообщений: 15,939
17.03.2014, 23:21     Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int F(int *X, int n)
{  int j;
   if (n==0) return 1;
   for(j=0; j<n; j++)
     if (X[j]==X[n]) break;
   if (j==n) return 1+ F(X, n-1);
   else return F(X, n-1);
}
int main()
{ int X[20];
// Заполнение массива
   printf("%d\n", F(X, 19);
   return 0;
}
Как-то так. Не проверял
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
17.03.2014, 23:27     Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве #5
Ну и вариант с STL
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
/*
Дан одномерный массив Х, состоящий из 20 целых чисел.
Составить программу, которая подсчитывает количество
разных по значению элементов в нем.
*/
 
#include <stdlib.h>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <iterator>
 
const int N = 20;
int get_rand(void) { return rand() % N; }
 
int main(void)
{
    setlocale(0, "rus");
    srand(static_cast<unsigned int>(time(NULL)));
 
    int arr[N];
    std::generate(arr, arr + N, get_rand);
    
    std::cout << "Исходный массив: ";
    std::copy(arr, arr + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    std::sort(arr, arr + N);
    int * i = std::unique(arr, arr + N);
    int count = std::distance(arr, i);
 
    std::cout << "Количество разных элементов: " << count << std::endl;
    system("pause");
}
Yandex
Объявления
17.03.2014, 23:27     Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве
Ответ Создать тему
Опции темы

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