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

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

Восстановить пароль Регистрация
 
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
27.11.2012, 18:30     Шаблоны функции #1
Очень нужно на завтра. Есть готовая программа. Нужно просто ее оформить в виде шаблонов функции( что-то такого рода: template <class Func1> Func1 sum(Func1 mas[],int n) чтобы программа работала на основе ООП... помогите пожалуста.
Вот код:
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
#include<iostream.h>
#include<conio.h>
#include<math.h>
 
void vvid(float mas[],int n){
for(int i=0;i<n;i++)
{cout<<i+1<<"-iy element masuvy:";
cin>>mas[i]; }}
 
void vivod(float mas[],int n){
for(int i=0;i<n;i++)
cout<<mas[i]<<" ";
cout<<endl;
}
float sum(float mas[],int n){
float s=0;
for(int i=0;i<n;i+=2){
s+=mas[i];
}
return s; }
 
float sum2(float mas[],int n){
int first=-1;
int last=-1;
float summ=0;
for(int i=0;i<n;i++)
{
if (mas[i]<0 && first<0)
first=i;
if (mas[i]<0)
last=i; }
for(i=first+1; i<last; i++)
summ+=mas[i];
return summ;}
 
void peretvor(float mas[],int n){
int i,j=0;
for(i=0;i<n;i++)
if (fabs(mas[i])>1)
mas[j++]=mas[i];
for(;j<n;j++)
mas[j]=0;}
 
int main()
{
clrscr();
int n=10;
float* massiv=new float[n];
vvid(massiv,n);
vivod(massiv,n);
cout<<"Suma elementiv z neparnum nomerom="<<sum(massiv,n)<<endl;
cout<<"Suma mish 1 i ostannim videmnum elementom="<<sum2(massiv,n)<<endl;
peretvor(massiv,n);
vivod(massiv,n);
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 18:30     Шаблоны функции
Посмотрите здесь:

C++ Шаблоны функции
шаблоны функции C++
C++ Шаблоны функции
C++ Функции-шаблоны
C++ Шаблоны функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
27.11.2012, 18:32     Шаблоны функции #2
какое условие в задаче?
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
27.11.2012, 19:00  [ТС]     Шаблоны функции #3
нужно оформить массив у виде функций(ввод вывод) еще нужно найти:
1. сумму элементов массива с непарным номером.
2. сумму элементов между первым и споследним отрицательными элементами.
3. элементы массива по модулю менше 1 преобразовать в ноль ы сместить на конец.
Нужно эту задачу сделать по технологии ООП с шаблонами функции
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
27.11.2012, 19:13     Шаблоны функции #4
Вот пример ввода и вывода, думаю дальше разберёшься сам.
#include <iostream>

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
template<class X > void enter(X* array, int size) 
{  
    int i; 
    for ( i = 0; i < size; ++i) 
    { 
        std::cout << "Inter element [" << i << "] "; 
        std::cin >> array[i]; 
    }
 
} 
 
template<class X > void show(X* array, int size) 
{ 
    int i; 
 
    for ( i = 0; i < size; ++i) 
        std::cout << array[i] << " "; 
}
 
int main() 
{ 
    const int s = 10; 
    double array[s]; 
    enter(array, s); 
    show(array, s); 
}
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
27.11.2012, 19:18  [ТС]     Шаблоны функции #5
ага.спасибо
Yandex
Объявления
27.11.2012, 19:18     Шаблоны функции
Ответ Создать тему
Опции темы

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