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

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

Войти
Регистрация
Восстановить пароль
 
Dynamicmove
Сообщений: n/a
#1

Написать перегруженные функции для вывода на экран элементов массивов статического и динамического - C++

20.01.2014, 01:27. Просмотров 417. Ответов 4
Метки нет (Все метки)

Здравствуйте! Нужна помощь с решением задачки Не могу разобраться с перегруженными функциями
И, если можно, разъясните что к чему...

Задача:
Заданы элементы массива. Написать перегруженные функции для вывода на экран элементов массивов статического и динамического.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 01:27     Написать перегруженные функции для вывода на экран элементов массивов статического и динамического
Посмотрите здесь:

C++ Написать функции 1 вывода массива на экран
C++ Написать перегруженные функции для вывода на экран суммы элементов одномерного и двумерного массивов
C++ Написать перегруженные функции для нахождения произведения
C++ Написать перегруженные функции для массива целых чисел и строки
Функция вывода на экран всех общих элементов двух одномерных массивов C++
C++ Функции для ввода/вывода массивов и матриц с помощью шаблонов и перегрузки
Написать перегруженные функции с двумя и тремя параметрами для вычисления суммы, разницы, произведения, доли C++
C++ Написать перегруженные функции: Количество отрицательных элементов в массиве
Написать программу вывода на экран таблицы значений функции C++
C++ Написать шаблонные, перегруженные функции для ввода и вывода на экран массивов и матриц
Написать перегруженные функции для вычисления суммы двух чисел C++
C++ Написать перегруженные функции для вычисления суммы двух чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
20.01.2014, 01:58     Написать перегруженные функции для вывода на экран элементов массивов статического и динамического #2
Dynamicmove,
Перегруженные функции - функции имеющие одинаковое имя, но разные сигнатуры(количество, порядок или типы формальных параметров). например

C++
1
2
3
4
5
6
7
8
9
10
11
void print(int *arr, int size)
{
   for (int i = 0; i < size; i++)
         cout << arr[i] << endl;
}
 
void print(int *arr)
{
   for (int i = 0; i < 10; i++)
         cout << arr[i] << endl;
}
при вызове:

C++
1
print(myArr, 10);
будет вызвана одна функция. при

C++
1
print(myArr);
другая
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6228 / 3473 / 425
Регистрация: 29.11.2010
Сообщений: 9,178
20.01.2014, 02:08     Написать перегруженные функции для вывода на экран элементов массивов статического и динамического #3
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
#include <iostream>
 
void print(const int arr[], const int size)
{
    std::cout << "Type1: ";
    for (int i=0; i < size; i++)
        std::cout << arr[i] << " ";
    std::cout << std::endl;
}
 
void print(int *arr, const int size)
{
    std::cout << "Type2: ";
    for (int i=0; i < size; i++)
        std::cout << arr[i] << " ";
    std::cout << std::endl;
}
 
int main()
{
    const int arr1[] = {1, 2, 3, 4, 5};
    const int size = sizeof(arr1) / sizeof(*arr1);
    print(arr1, size);
 
    int *arr2 = new int[size];
    for (int i=0; i < size; i++)
        arr2[i] = i+1;
    print(arr2, size);
    delete[] arr2;
}
kventin_zhuk, заменять размер на magic number - не есть хорошо. Более того, что будет, если я передам массив размерностью 1?
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
20.01.2014, 02:09     Написать перегруженные функции для вывода на экран элементов массивов статического и динамического #4
MrGluck, вы правы Cпасибо, учту
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6228 / 3473 / 425
Регистрация: 29.11.2010
Сообщений: 9,178
20.01.2014, 02:17     Написать перегруженные функции для вывода на экран элементов массивов статического и динамического #5
Кстати, вот третий способ на шаблонах:
C++
1
2
3
4
5
6
7
template<size_t N>
void print(const int (&a)[N])
{
    std::cout << "Type3: ";
    for (const int *it = a; it != a + N; ++it)
        std::cout << *it << " ";
}
Работает только со статическими массивами.
Yandex
Объявления
20.01.2014, 02:17     Написать перегруженные функции для вывода на экран элементов массивов статического и динамического
Ответ Создать тему
Опции темы

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