-12 / 0 / 1
Регистрация: 06.10.2015
Сообщений: 32
1

Получить из заданного массива новый путем удаления из него всех повторяющихся элементов

30.05.2016, 20:00. Показов 1009. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Получить из заданного массива новый путем удаления из него всех повторяющихся элементов, если количество повторений каждого такого элемента меньше, чем во втором заданном массиве.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2016, 20:00
Ответы с готовыми решениями:

Получить новый массив путем деления всех элементов массива на наибольший по модулю элемент
Дан двумерный массив. Получить новый массив путем деления всех элементов массива на наибольший по...

Получить новый массив путем деления всех элементов массива на его наименьший элемент
Решите плиз задачи 2)19. Дан двумерный массив размерностью n*m, в котором не все элементы равны...

Получить новый массив путем деления всех элементов массива на наибольший по модулю элемент
Дан двумерный массив. Получить новый массив путем деления всех элементов массива на наибольший по...

Получить новый массив путем деления всех элементов массива на наибольший по модулю элемент
Дан двумерный массив. Получить новый массив путем деления всех элементов массива на наибольший по...

2
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
31.05.2016, 09:08 2
Лучший ответ Сообщение было отмечено parserfull как решение

Решение

Как понял, так и сделал.
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <memory>
int array_index(int* a, int n, int v, bool& ok);
int array_unique(int a[], int n);
 
 
int main(void){
    int a[128];
    int i, n = 128;
    for(i = 0; i < n; ++i)
        a[i] = rand() % 10;
 
    n = array_unique(a, n);
    for(i = 0; i < n; ++i)
        std::cout << a[i] << ' ';
    return 0;
}
 
//уникальный массив
int array_unique(int a[], int n){
    int  m = 0;
    int* b = new (std::nothrow) int[n];
    if(b == NULL)
        return n;
 
    bool ok;
    int  j;
    for(int i = 0; i < n; ++i){
        j = array_index(b, m, a[i], ok);
        if(!ok){
            if(j < m)
                memmove(b + (j + 1), b + j, (m - j) * sizeof(int));
            b[j] = a[i];
            ++m;
        }
    }
 
    if(m < n)
        memcpy(a, b, m * sizeof(int));
    delete[] b;
    return m;
}
 
//бинарный поиск
int array_index(int* a, int n, int v, bool& ok){
    int i, j, m;
    ok = false;
    if(!n || (v < a[0]))
        return 0;
    else if(v > a[n - 1])
        return n;
 
    for(i = m = 0, j = n; i < j; ){
        m = i + (j - i) / 2;
        if(v == a[m]){
            ok = true;
            break;
        } else if(v < a[m])
            j = m;
        else
            i = ++m;
    }
    return m;
}
0
-12 / 0 / 1
Регистрация: 06.10.2015
Сообщений: 32
31.05.2016, 10:25  [ТС] 3
1. Создать и использовать в программе класс, реализующий динамический числовой массив.

2. В классе предусмотреть наличие нескольких конструкторов (в том числе конструктора копирования), функций ввода и вывода, случайной генерации элементов, перегруженного оператора присваивания.

3. После разработки и тестирования вышеуказанных функций добавить в класс и использовать функцию (или функции), указанную в индивидуальном задании ниже. Для использования разработанных функций создать в главной функции несколько массивов с использованием различных конструкторов класса и заполнить их как с использованием функции ввода, так и случайным образом
Забыл написать еще, чтобы эти условия выполнялись тоже...
0
31.05.2016, 10:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2016, 10:25
Помогаю со студенческими работами здесь

Получить новый массив путем деления всех элементов массива на наибольший по модулю элемент
Дан двумерный массив размерностью 5*5. Получить новый массив путем деления всех элементов массива...

Получить новый массив путем деления всех элементов массива на наименьший по модулю элемент
Дан двумерный массив. Получить новый массив путем деления всех элементов массива на наименьший по...

Получить новый массив путем деления всех элементов массива на наименьший по модулю элемент
Дан двумерный массив. Получить новый массив путем деления всех элементов массива на наименьший по...

Получить новый массив путем деления всех элементов данного массива на ее больший по модулю элемент
Помогите пожалуйста! Дан действительный массив размерностью n*m, в которой не все элементы равны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru