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

Узнать, какие элементы в массиве встречаются больше одного раза. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Одномерные массивы: Удалить из массива нули и после каждого числа, оканчивающегося на 5, вставить 1 http://www.cyberforum.ru/cpp-beginners/thread516279.html
Дан массив. Удалить из него нули и после каждого числа, оканчивающегося на 5, вставить 1.
C++ Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце Дана целочисленная матрица размера M × N. Найти элемент, являю-щийся максимальным в своей строке и минимальным в своем столбце. Ес-ли такой элемент отсутствует, то вывести 0. http://www.cyberforum.ru/cpp-beginners/thread516269.html
C++ Дана матрица размера M × N. Найти количество ее строк, элементы которых упорядочены по возрастанию.
Дана матрица размера M × N. Найти количество ее строк, элементы которых упорядочены по возрастанию.
Найти номер первой из ее строк, содержащих равное количество положительных и отрицательных элементов C++
Дана целочисленная матрица размера M × N. Найти номер первой из ее строк, содержащих равное количество положительных и отрицательных элементов (нулевые элементы матрицы не учитываются). Если таких строк нет, то вывести 0.
C++ Найти минимальный среди максималь-ных элементов ее столбцов. http://www.cyberforum.ru/cpp-beginners/thread516264.html
Дана матрица размера M × N. Найти минимальный среди максималь-ных элементов ее столбцов.
C++ Вывести ее элементы, расположенные в столбцах с нечетными номерами Дана матрица размера M × N. Вывести ее элементы, расположенные в столбцах с нечетными номерами (1, 3, …). Вывод элементов производить по столбцам, условный оператор не использовать. подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9454 / 5467 / 926
Регистрация: 25.07.2009
Сообщений: 10,490
26.04.2012, 19:04     Узнать, какие элементы в массиве встречаются больше одного раза.
 Комментарий модератора 
Пост перемещен из дубля темы в разделе C для начинающих

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 * find_it(const int value, const int * arr, const size_t size) {
    return ( ! size ) ? NULL : ( value == *arr ) ? (int*) arr : find_it(value, arr + 1, size - 1);
}
 
void rnd_fill(int * arr, size_t size) {
    while ( size-- )
        *arr++ = rand() % 10;
}
 
void dump(const int * arr, size_t size) {
    while ( size-- )
        printf("%d%c", *arr++, ( size ) ? ' ' : '\n');
}
 
#define SIZE 10
 
int main(void) {
    int arr[SIZE], i;
    
    srand(time(NULL));
    rnd_fill(arr, SIZE);
    printf("Array:\n");
    dump(arr, SIZE);
    printf("Doubling values:\n");
    for ( i = 0; i < SIZE - 1; ++i )
        if ( find_it(arr[i], arr + i + 1, SIZE - i - 1) && ! find_it(arr[i], arr, i) )
            printf("%d\n", arr[i]);
    
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru