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

Массив: Напишите функцию, которая «убирает» из массива дубли. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа для расчета давления взрыва и пожароопасности газов и паров http://www.cyberforum.ru/cpp-beginners/thread609194.html
Надо сделать (для себя) программу для расчета давления взрыва, все формулы есть. Много значений, которые надо выбирать поэтапно (такие как размеры помещения, объем газов в цехе, длина трубопровода до задвижки, виды газа, диаметр трубы, плотность газа) В маткаде, екселе сделать просто. (забивать трудно и непрактично) Хотелось бы оформить в интерфейсе Windows. Тоесть открыл программу, взял и начал...
C++ Очередь: Создать две новые очереди в которых будут находиться отдельно положительные и отрицательные числа Задана очередь элементов, содержащий положительные и отрицательное числа.Создать две новые очереди в которых будут находиться отдельно положительные и отрицательные числа Добавлено через 8 минут ПЛЗ.Очень надо=( Добавлено через 10 минут uping themes http://www.cyberforum.ru/cpp-beginners/thread609184.html
Программа печатающая значение true и false C++
Всем привет. Сижу на экзамене, помогите пожалуйста решить задачу. Заранее спасибо.
C++ Описать функцию ООП
Описать функцию, которая строит l2 - копию списка l1
C++ выделить новую память new так, чтобы адрес остался прежним http://www.cyberforum.ru/cpp-beginners/thread609145.html
:) Добрый день. Использую выделение динам. памяти таким образом: Point = new TPoint ; Делаю вот что. Создаю массив объектов и выделяю под них память динамически. Далее приходит момент, когда массив становится заполненным и нужно увеличить кол-во элементов. Тогда я делаю массив копий, переношу туда инфу, потом меняю указатели и присваиваю своему массиву новый адрес с большим кол-вом...
C++ Builder Поиск данных в гриде написала код на С++, вродь правельно Суть: пользователь вводит данные в едит,программа сведяет данные с гритом на первой форме, если есть совподение, то данные заносятся в грид на 2-ой форме.........Но программа данные находит , а в грид помещать не хочет { Pos=Edit1->Text; for (int n=1; n < StringGrid1 -> ColCount-1; n++) {for (int n1=1;n1 < StringGrid1 -> RowCount-1; n1++) { if... подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт CЭксперт С++
6405 / 3603 / 448
Регистрация: 29.11.2010
Сообщений: 9,531
19.06.2012, 16:10     Массив: Напишите функцию, которая «убирает» из массива дубли.
Вот, простенько и с сохранением порядка.
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
#include <iostream>
#include <cstdlib>
 
void print(int *, int);
void withoutDoubles(int *, int&);
 
int main()
{
    std::srand( time(NULL) );
    int N, *arr;
    std::cin>> N;
    arr = new int[N];
    for (int i=0; i < N; i++)
        arr[i] = rand() % 10;
    print(arr, N);
    withoutDoubles(arr, N);
    print(arr, N);
    system("pause");
    delete []arr;
    return 0;
}
 
void print(int *arr, int N)
{
    for (int i=0; i < N; i++)
        std::cout<< arr[i]<< " ";
    std::cout<< std::endl;
}
 
void withoutDoubles(int *arr, int &N)
{
    int *arr2 = new int[N], counter = 0;
    for (int i=0; i < N; i++)
    {
        bool b = false;
        for (int j=0; j < counter; j++)
            if (arr2[j] == arr[i])
            {
                b = true;
                break;
            }
        if (!b)
            arr2[counter++] = arr[i];
    }
    delete []arr;
    arr = new int[counter];
    for (int i=0; i < counter; i++)
        arr[i] = arr2[i];
    delete []arr2;
    N = counter;
}
 
Текущее время: 12:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru