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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Chelsea Smile
2 / 2 / 0
Регистрация: 26.05.2013
Сообщений: 31
#1

Перегрузка функций - C++

21.06.2013, 15:23. Просмотров 337. Ответов 4
Метки нет (Все метки)

Необходимо сделать перегрузку
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <iostream>
#include <cstdlib>
#include <clocale>
#include <algorithm>
 
using namespace std;
 
int *InitArr(int *, int);
void PrintArr(int *, int);
bool DeleteValues(int *&, int, int &);
bool DeleteValues(int *&, int &, int, int *);
 
int main()  {
    int n = 10;         // Размер массива
    int *Arr = NULL;    // Объявлениемассива
    int *Del = NULL;    // Массив удаляемых элементов
    int QuanOfElem = 3; // Количество удаляемых элементов
    int element;
    
    setlocale(LC_ALL,"Russian");
    Arr = new int [n];
 
    cout << "\n Введите значения массива из " << n << " элементов.\n" << endl;
    Arr = InitArr(Arr, n);
    
    cout << "\n Введите элемент для удаления: ";    cin >> element;
    
    // Удаление и печать
    DeleteValues(Arr, element, n);
    PrintArr(Arr, n);
 
    cout << "\n Введите " << QuanOfElem << " элемента для удаления: \n" << endl;
    
    Del = new int[QuanOfElem];          // Выделение памяти под массив
    for(int i = 0; i < QuanOfElem; i++)
    {
        cout << " " << i+1 << "-й - "; 
        cin >> Del[i];
    }
    
    // Удаление и печать
    DeleteValues(Arr, n, QuanOfElem, Del);
    PrintArr(Arr, n);
 
    delete []Del;
    delete []Arr;
 
    return 0;
}
 
/* Заполнение массива */
int *InitArr(int *Arr, int n)   {
    for(int i = 0; i < n; i++)  {
        cout << " [" << i << "] - ";
        cin >> Arr[i];
    }
    return Arr;
}
 
/* Печать массива */ 
void PrintArr(int *Arr, int n)  {
    cout << "\n РЕЗУЛЬТАТ: ";
    for(int i = 0; i < n; i++)
        cout << " " << Arr[i];
    cout << endl;
    return;
}
 
/* Удаление одного элемента */
bool DeleteValues(int *&Arr, int value, int &n)
{
    int j = 0;
    for (int i = 0; i < n; ++i) {
        Arr[j] = Arr[i];
        j += (Arr[i] != value);
    }
    bool b = (n != j);
    if (b) {
        n = j;
        int *temp = new int[n];
        copy(Arr, Arr + n, temp);   
        delete [] Arr;
        Arr = temp;
    }
    return b;
}
 
/* Удаление нескольких элементов из массива */
bool DeleteValues(int *&Arr, int &n, int count, int *vals)
{
    int j = 0;
    for(int i = 0; i < n; ++i) {
        Arr[j] = Arr[i];
        j += (!binary_search(vals, vals + count, Arr[i]));
    }
    bool b = (n != j);
    if(b) {
        n = j;
        int *temp = new int[n];
        copy(Arr, Arr + n, temp);
        delete [] Arr;
        Arr = temp;
    }
    return b;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2013, 15:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка функций (C++):

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов - C++
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...

Перегрузка функций. Реализация функций - C++
Разработать функцию f(x) , которая возвращает младшую цифру натурального числа x . Вычислить с ее помощью значение выражения z= f(a) +...

Перегрузка функций - C++
Здравствуйте мне нужно написать программу с использованием функциями и перегрузить их где это возможно... Не подскажите какую из функций...

Перегрузка функций - C++
Здравствуйте ув. программисты не могли бы мне кто нибуть написать простейшие примеры перегрузки +, -, логичное или , и умножения.

перегрузка функций - C++
Помогите: как изменится поле private, когда мы делаем перегрузку функции? Функция заполняет массив в зависимости от того, какого типа...

Перегрузка функций! - C++
Есть такое задание: С помощью механизма перегрузки функций реализовать функции для вывода на экран (первый параметр – тип выводимого...

4
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
21.06.2013, 15:31 #2
@Chelsea Smile, конкретизируйте проблему.
0
XapgKogep
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 12
21.06.2013, 15:35 #3
C++
1
2
3
4
5
6
7
8
/* Заполнение массива */
int *InitArr(int *Arr, int n)   {
    for(int i = 0; i < n; i++)  {
        cout << " [" << i << "] - ";
        cin >> Arr[i];
    }
    return Arr;
}
Зачем здесь возвращать указатель на массив?
0
Chelsea Smile
2 / 2 / 0
Регистрация: 26.05.2013
Сообщений: 31
21.06.2013, 15:40  [ТС] #4
Необходимо сделать перегрузку функций
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
21.06.2013, 15:48 #5
Цитата Сообщение от Chelsea Smile Посмотреть сообщение
Необходимо сделать перегрузку функций
Да уж... конкретизировали на ура. DeleteValues - перегруженная функция. В чем вопрос-то?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2013, 15:48
Привет! Вот еще темы с ответами:

Перегрузка функций - C++
Моя последняя лаба=( Светлые умы, помогите... Выполнить задания пятой и шестой лабораторной работы, оформив каждый пункт задания в виде...

Перегрузка функций - C++
Здравствуйте уважаемые програмисты:) У меня вот такое задание: В классе необходимо перегрузить нижеследующие операции, при этом две...

Перегрузка функций - C++
Прошу помогите, очень нужно, до 24.02, если не сдам, то отчислят!(((( Программка на перегрузку функций... Определить максимальное из чисел,...

Перегрузка функций - C++
Задача такая: перегрузить * так чтобы время умножалось на число, и так чтобы число умножалось на время. Не могу понять как реализовать...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
21.06.2013, 15:48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru