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

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

Восстановить пароль Регистрация
 
OlegLvovskyj
9 / 9 / 2
Регистрация: 02.12.2010
Сообщений: 66
14.02.2011, 17:43     Перегрузка функций #1
привет.только начал изучать С++.такая задача

Написать реализацию перегруженных функций :
int func(int* arr, int length, int number);
int func(char* str, char ch);
Функция func возвращает количество вхождений числа или символа в массив.

я сделал программу которая будет выполнять условие только без перезагруженных функций.

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
#include <iostream>
 
int main(){
    int n;
    int z =0;
    char ar[128];
    char sym;
    std::cin >> ar;
        std::cin >> sym;
    
    n = strlen(ar);    
          for (int i=0;i < n;i++){
              if (ar[i] == sym){
                  
                  z++;
              }
              
              
          }
          
          
          std::cout << "Result: " << z;
          
          return 0;
}
заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2011, 17:43     Перегрузка функций
Посмотрите здесь:

C++ Перегрузка функций в C++
C++ Перегрузка функций
Перегрузка функций C++
перегрузка функций. C++
Перегрузка функций C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
14.02.2011, 17:45     Перегрузка функций #2
Ну так а что не понято-то вам?
OlegLvovskyj
9 / 9 / 2
Регистрация: 02.12.2010
Сообщений: 66
14.02.2011, 17:54  [ТС]     Перегрузка функций #3
как написать программу с этими функциями
int func(int* arr, int length, int number);
int func(char* str, char ch);
если нетяжело переделайте пожалуста, а я уже по переделанному разберусь.спасибо
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
14.02.2011, 18:02     Перегрузка функций #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
#include <iostream>
 
size_t func(int *, size_t, int);
size_t func(char *, char);
 
int main()
{
    int arr[10] = {1, 4, 3, 1, 8, 4, 1, 0, 4, 1};
    char str[] = "Hello, World!";
 
    std::cout << func(arr, 10, 1) << std::endl;
    std::cout << func(str, 'l') << std::endl;
 
    return 0;
}
 
size_t func(int *arr, size_t length, int number)
{
    size_t count = 0;
 
    for (size_t i = 0; i < length; ++i)
        if (arr[i] == number)
            ++count;
 
    return count;
}
 
size_t func(char *str, char ch)
{
    size_t length = strlen(str);
    size_t count = 0;
 
    for (size_t i = 0; i < length; ++i)
        if (str[i] == ch)
            ++count;
 
    return count;
}
OlegLvovskyj
9 / 9 / 2
Регистрация: 02.12.2010
Сообщений: 66
14.02.2011, 18:46  [ТС]     Перегрузка функций #5
спасибо .разобрался.

Добавлено через 34 минуты
просто я из начала не понял условия. я думал, что эти две функции должны возвращать символ, потому-то и зашел в угол.я переделал на личный ввод символов и чисел.

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>
//#define size 128
int func(int *, size_t, int);
int func(char *, char);
 
int main()
{
    int arr[10],chyslo,n;
    char str[128],symwol;
    std::cout << "Wwedit kilkist chysel\n";
    std::cin >> n;
    std::cout << "Wwedit sami chysla\n";
    for (int i =0;i<n;i++){
        std::cin >> arr[i];
    }
    
    std::cout << "Wwedit radok symwoliw\n";
    std::cin >> str;
    std::cout << "Wwedit chyslo\n";
    std::cin >> chyslo;
    std::cout << "Wwedit symwol\n";
    std::cin >> symwol;
    std::cout << "Resultat:\n";
    std::cout << "Zbihiv " << func(arr, 10, chyslo) << std::endl;
    std::cout << "Zbihiv " << func(str, symwol) << std::endl;
    
    return 0;
}
 
int func(int *arr, size_t length, int number)
{
    size_t count = 0;
    
    for (size_t i = 0; i < length; ++i)
        if (arr[i] == number)
            ++count;
        
        return count;
}
 
int func(char *str, char ch)
{
    size_t length = strlen(str);
    size_t count = 0;
    
    for (size_t i = 0; i < length; ++i)
        if (str[i] == ch)
            ++count;
        
        return count;
}
Yandex
Объявления
14.02.2011, 18:46     Перегрузка функций
Ответ Создать тему
Опции темы

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