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

Найти количество одинаковых элементов массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ На главной диагонали разместить суммы элементов http://www.cyberforum.ru/cpp-beginners/thread84353.html
Помогите Решить. Заполнить матрицу (размером 9х9) случайными числами (из диапазона 0 - 99). На главной диагонали разместить суммы элементов, которые лежат на той же строке и том же столбце. http://s001.***********/i195/1001/9d/bf4882575635.jpg
C++ Поиск и удаление равных элементов массива Здрасте, здрасте!! ^_^V Уважаемы господа программисты и те, кто сюда просто зашел полюбопытствовать, очень прошу обратить внимаение на мою тему. Итак, имеется задачка, которую срочно-и-нужно решить. Наработочки мои есть, но нужно дописать некоторые ф-ции. Вот задачка: Задан массив а1, а2,…аn . Перенести в другой массив те элементы, которые встречаются один раз, исключив их из... http://www.cyberforum.ru/cpp-beginners/thread84347.html
C++ Структура для описания понятия дата
(Работаю в Visual studio 6.0) Ввести структуру(с полями число,месяц,год)для описания понятия дата.Составить и протестировать функцию,которая: а)вычисляет интервал (в днях),прошедший между двумя датами; б)по порядковому номеру дня в году определяет число и месяц года,соответствующие этому дню; в)по введенной дате распечатывать дату на N дней вперед. как я понял это надо...
C++ матричный калькулятор
у кого-нибудь не завалялся случайно матричный калькулятор?
C++ Очередь с головы и хвоста. http://www.cyberforum.ru/cpp-beginners/thread84300.html
Хелп помогите написать очередь с голвы и хвоста. Я просто не очень понимаю как она работает. Сильно отличаеться от очереди с просто головой, она просто у меня есть.
C++ 25 января сессия, а некоторые проги не могу написать, гляньте 1. Составить функцию, которая будет определять, является ли введенное пользователем число n простым. Найти все простые числа от 2 до 100. 2. Описать класс для работы с комплексными числами. Определить методы для сложения, умножения чисел. подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
10.01.2010, 23:27     Найти количество одинаковых элементов массива
Во:
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 <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int intCmp(const void *a, const void *b){
    return *(int*)a - *(int*)b;
}
 
/* Найти количество одинаковых элементов массива А(N) (N=21, элементы от -4 до 4 */
#define N 21
 
int main(void){
    int arr[N], i, j;
    
    srand(time(NULL));
    for ( i = 0; i < N; ++i )
        arr[i] = rand() % 9 - 4;
    
    printf("\nArray: ");
    for ( i = 0; i < N; ++i )
        printf("%2d ", arr[i]);
    printf("\nValue  Count\n");
    qsort(arr, N, sizeof(*arr), intCmp);
    for ( i = 0; i < N - 1; ){
        for ( j = i + 1; j < N && arr[i] == arr[j]; ++j )
            ;
        printf("%-7d%-5d\n", arr[i], j - i);
        i = j;
    }
    if ( i == N - 1 )
        printf("%-7d%-5d\n", arr[i], 1);
    
    return 0;
}
Добавлено через 22 минуты
Цитата Сообщение от outoftime Посмотреть сообщение
а можо создать масив на 9 элементов
А тоже вариант!
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
    
/* Найти количество одинаковых элементов массива А(N) (N=21, элементы от -4 до 4 */
#define N 21
#define T 9 /* top */
#define D 4 /* delta */
 
int main(void){
    int arr[N], cnt[T] = { 0 }, i;
    
    srand(time(NULL));
    for ( i = 0; i < N; ++i ){
        arr[i] = rand() % 9;
        printf("%d ", arr[i] - D);
        cnt[arr[i]] += 1;
    }
    
    for ( i = 0; i < T; ++i )
        printf("\n%d meet %d times", i - D, cnt[i]);
    
    return 0;
}
Но это хорошо, когда количество значений небольшим числом ограничено...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru