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

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

Войти
Регистрация
Восстановить пароль
 
DareDeviL
2 / 2 / 0
Регистрация: 21.11.2010
Сообщений: 43
#1

Шаблоны функции - C++

09.01.2012, 17:19. Просмотров 464. Ответов 8
Метки нет (Все метки)

Реализуйте следующие задание с использованием шаблона функции. Продемонстрируйте вызов шаблона для различных типов данных.
Работа с одномерными массивами.
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1. Произведение отрицательных элементов массива.
Задание 2: Работа с двумерными массивами.
Дана целочисленная прямоугольная матрица. Определить:
1. Произведение элементов в тех строках, которые не содержат нулевых элементов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2012, 17:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблоны функции (C++):

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

Шаблоны функции - C++
Правильно ли я оформила программу в виде шаблона функции? программа просто в виде функции #include "iostream.h" #include...

Шаблоны функции - C++
#include <string.h> #include <stdio.h> #include <iostream.h> #include <stdlib.h> #include <conio.h> struct note { char...

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

Функции-шаблоны - C++
Подсчитать норму матрицы по формуле А = (сумма по i ) maxai,j ( а и житое ) Вобще не понимаю как делать,а нужно уже к завтра, сделайте...

Функции-Шаблоны в С++ - C++
Как с помощью функций-шаблонов подсчитать сумму элементов, расположенных на побочной диагонали?

8
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
09.01.2012, 17:27 #2
Готовыми из algorithm можно пользоваться?
0
DareDeviL
2 / 2 / 0
Регистрация: 21.11.2010
Сообщений: 43
09.01.2012, 17:29  [ТС] #3
нет нельзя(
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
09.01.2012, 17:41 #4
Цитата Сообщение от DareDeviL Посмотреть сообщение
нет нельзя(
А, не, ошибся, accumulate в numeric же. Ну, не суть.
Цитата Сообщение от DareDeviL Посмотреть сообщение
1. Произведение отрицательных элементов массива.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template <class Iterator, class T, class BinaryOperation>
T product(Iterator first, Iterator last, T init, BinaryOperation op)
{
    while(first != last)
        init = op(init, *first++);
    return init;
}
 
template <class T> 
T isNegative(T init, T num)
{
    return ((num < 0) ? (init * num) : (init));
}
//вызов
int arr[size];
std::cout << product(arr, arr + size, 1, isNegative<int>);
Разбил на 2 функции. Корректно работает, если в массиве точно будет отрицательный элемент. Иначе придется передавать еще переменную bool, поскольку какое бы не возвращали значение при отсутствии отрицательных элементов - все это можно будет свалить на тесте.
0
DareDeviL
2 / 2 / 0
Регистрация: 21.11.2010
Сообщений: 43
09.01.2012, 17:47  [ТС] #5
это оба задания? можно весь код?
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
09.01.2012, 17:49 #6
Ну а во второй можно вызвать для каждой строки нижеследующую функцию, либо проверять для каждой строки наличие нулевых элементов и в результате этого вызывать.
C++
1
2
3
4
5
6
7
8
9
10
11
template <class Iterator, class T>
T product(Iterator first, Iterator last, T init)
{
    while(first != last)
        init *= *first++;
    return init;
}
//вызов
int arr[rows][cols];
for(int i = 0; i < rows; ++i)
    std::cout << product(arr, arr + cols, 1);
Добавлено через 1 минуту
Цитата Сообщение от DareDeviL Посмотреть сообщение
можно весь код?
Там просто main дописать, не справитесь что ли?
0
DareDeviL
2 / 2 / 0
Регистрация: 21.11.2010
Сообщений: 43
09.01.2012, 17:50  [ТС] #7
пробовал..кучу ошибок выбивает
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
09.01.2012, 17:53 #8
Давайте код который пробовали, будем править.
0
DareDeviL
2 / 2 / 0
Регистрация: 21.11.2010
Сообщений: 43
09.01.2012, 18:16  [ТС] #9
я уже удалил((
0
09.01.2012, 18:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2012, 18:16
Привет! Вот еще темы с ответами:

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

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

Шаблоны функции - C++
Очень нужно на завтра. Есть готовая программа. Нужно просто ее оформить в виде шаблонов функции( что-то такого рода: template &lt;class Func1&gt;...

Функции-шаблоны - C++
как с помощью шаблон-функций подсчитать сумму элементов, расположенных на побочной диагонали?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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