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

Функции добавления, удаления данных в массиве. - C++

Восстановить пароль Регистрация
 
KraT
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 5
10.03.2010, 00:48     Функции добавления, удаления данных в массиве. #1
Есть код в котором создается новый массив, помогите написать функции добавления, удаления и вывода инфы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Add(Array *arr, double val)
{
    // ...
}
 
void Del(Array *arr, unsigned int delPos)
{
    // ...
}
 
void Print(Array *arr)
{
    // ...
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2010, 00:48     Функции добавления, удаления данных в массиве.
Посмотрите здесь:

C++ Не работают функции удаления и добавления данных в класс
C++ Реализовать приложение, содержащее функции добавления нового элемента в массив и удаления элемента из массива. (Имитируется “резиновый” массив)
C++ функция удаления и добавления элементов. что не так с програмой?
C++ Создать функции добавления подстроки и удаления подстроки
Стеки, функции добавления и удаления элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
10.03.2010, 01:07     Функции добавления, удаления данных в массиве. #2
а что за тип Array?
Ivaneo
2 / 2 / 0
Регистрация: 01.08.2009
Сообщений: 16
10.03.2010, 06:22     Функции добавления, удаления данных в массиве. #3
Данные функции возможно реализовать только с динамическим массивом.
Я так понял под типом Array подразумевается тип *double, тогда следующие функции без всяких проверок выглядят так:
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
void Print(double *arr, unsigned int SizeOfArr)
{
    for (unsigned int i=0; i<SizeOfArr; i++)
        cout << arr[i] << endl;
}
// Добавляет элемент в конец массива
double* Add(double *arr, unsigned int &SizeOfArr, double Value)
{
    SizeOfArr++;
    double *tmp = new double [SizeOfArr];
    for (unsigned int i=0; i<SizeOfArr-1; tmp[i]=arr[i++]);
    tmp[SizeOfArr-1]=Value;
    delete [] arr;
    return tmp;
}
double* Del(double *arr, unsigned int &SizeOfArr, unsigned int Index)
{
    SizeOfArr--;
    double *tmp = new double [SizeOfArr];
    for (unsigned int i=0, j=0; i<SizeOfArr+1; i++)
        i!=Index?tmp[j++]=arr[i]:true;
    delete [] arr;
    return tmp;
}
Использование данных функций выглядит так
C++
1
2
3
4
// arr - указатель на дин. массив, size - размер массива
arr=Add(arr,size,значение_нового_елемента);
arr=Del(arr,size,номер_удаляемого_елемента);
Print(arr,size);
Вообще незачем так извращаться когда есть готовый класс Vector
KraT
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 5
10.03.2010, 08:39  [ТС]     Функции добавления, удаления данных в массиве. #4
Вообще незачем так извращаться когда есть готовый класс Vector
А где он есть? Можно ссылку.
kuroiryuu
 Аватар для kuroiryuu
311 / 295 / 23
Регистрация: 05.11.2009
Сообщений: 698
Завершенные тесты: 2
10.03.2010, 09:58     Функции добавления, удаления данных в массиве. #5
в гугле набираете C++ vector и жмёте поиск
Yandex
Объявления
10.03.2010, 09:58     Функции добавления, удаления данных в массиве.
Ответ Создать тему
Опции темы

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