Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Julia9311
3 / 3 / 1
Регистрация: 05.11.2011
Сообщений: 190
#1

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

30.06.2012, 21:56. Просмотров 307. Ответов 2
Метки нет (Все метки)

Правильно ли я оформила программу в виде шаблона функции?

программа просто в виде функции

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
#include "iostream.h"
#include "conio.h"
 
int a[10][10];
int i=0, j=0, n=10, m=10, c=1;
 
int proizvedenie(int a[10][10], int n, int m, int i, int j)
{
bool flag;//флаг
int c=1;
    
            for(i=0;i<n;i++)
            for(j=0;j<m;j++)
            { if(a[i][j]<0)flag=false;
              if(a[i][j]>0) flag=true;  
                c*=a[i][j];
            }
    cout << "Proizvedenie= " <<c<< endl;
    return c;
}
int main()
{
    int *p;
    p=new int[n*m];
 
   cout<<"Vvedite elementi massiva\n";
 
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]= ";
            cin>>a[i][j];
        }
    }
 
    getch();
        
    return 0;
}


и в виде шаблона функции


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
#include "iostream.h"
#include "conio.h"
 
int a[10][10];
int i=0, j=0, n=10, m=10, c=1;
    
template< typename T > 
T proizvedenie(T a[10][10], int n, int m, int i, int j)
{
bool flag;//флаг
int c=1;
    
            for(i=0;i<n;i++)
            for(j=0;j<m;j++)
            { if(a[i][j]<0)flag=false;
              if(a[i][j]>0) flag=true;  
                c*=a[i][j];
            }
    cout << "Proizvedenie= " <<c<< endl;
    return c;
}
int main()
{
    int *p;
    p=new int[n*m];
 
   cout<<"Vvedite elementi massiva\n";
 
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]= ";
            cin>>a[i][j];
        }
    }
 
    getch();
        
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2012, 21:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Шаблоны функции (C++):

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

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

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

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

Шаблоны функции
#include &lt;string.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream.h&gt; #include...

Шаблоны функции
Очень нужно на завтра. Есть готовая программа. Нужно просто ее оформить в виде...

2
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
30.06.2012, 22:08 #2
C++
1
T c=1; // 12 строка
1
MrGluck
Модератор
Эксперт CЭксперт С++
8021 / 4864 / 1425
Регистрация: 29.11.2010
Сообщений: 13,241
30.06.2012, 22:23 #3
1. Хедеры править
C++
1
2
#include <iostream.>
#include <conio.h>
2. Глобальные переменные убрать, они не нужны
3. int i, int j ненужные параметры
4. p=new int[n*m]; а где память освобождаете?
5. используйте двумерный массив, а не n*m.
6. cout в функции вобще не нужен
7. Зачем вам флаг вобще?
ну и т.д.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2012, 22:23
Привет! Вот еще темы с решениями:

Шаблоны функции
Помогите решить срочняк:umnik: S=(exp(y)*exp(x))+sqrt(x)

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

Шаблоны функции
Реализуйте следующие задание с использованием шаблона функции....

Шаблоны, функции, etc
Софорумчане и просто зашедшие, прошу вашей помощи... Не могу разобраться как...


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

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

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