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

Создание шаблона функции - C++

Восстановить пароль Регистрация
 
darkage1986
Сообщений: n/a
04.12.2011, 19:04     Создание шаблона функции #1
Помогите, пожалуйста, написать шаблон функции. Вот задание:

Общая задача 1. Разработать шаблоны функций, реализующих любые два из описанных ниже алгоритмов (по одному из частей 1 и 2). Применить разработанные функции к массивам (матрицам) типов short и float. В массиве A(n) каждый элемент ai, кроме крайних, заменить выражением а) a(i-1)+2a(i)+a(i+1), б) a(i-1)*a(i)*a(i+1), первый и последний элементы — выражениями а) 2(a(1)+a(2)) и 2(a(n-1)+a(n)), б) (a(1)*a(2)) и (a(n-1)*a(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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <time.h>
 
using namespace std;
 
template <typename Type>
    Type massiv (Type **mass, unsigned n, bool q)
    {
        Type st;
        if (q==true)
        {
            Type
            for (int i=0, i<n, i++)
            {
                if (i=0) a[i]=2*(a[0]+a[1]);
                if (i>0) & (i<n-1) a[i]=a[i-1]+2*a[i]+a[i+1];
                if (i=n-1) a[i]=2*(a[i-1]+a[i]);
            }
    }
 
int main(int argc, char *argv[])
{
    setlocale (LC_CTYPE,"rus");
    char temp;
    while ((temp!='S')&&(temp!='P'))
    {
        cout<<"Введите S, или P, или D для выбора ввода элементов"<<endl;
        cin>>temp;
    }
    unsigned n;
    float **a=new float* [n];
    short **b=new short* [n];
    for (int i=0, i<n, i++)
    {
        a[i]=new float[n];
        b[i]=new short[n];
    }
    if (temp=='S')
    {
        cout<<"Введите количество элементов массива"<<endl;
        cin>>n;
        cout<<"Введите элементы типа float"<<endl;
        for (int i=0, i<n, i++) cin>>a[i];
        cout<<"Введите элементы типа short"<<endl;
        for (int i=0, i<n, i++) cin>>b[i];
    }
    if (temp=='P')
    {
        char *g;
        cout<<"Введите путь к файлу:"<<endl;
        cin>>s;
        FILE* f=fopen(g, "r+");
        if (f!=NULL)
        {
            fscanf(f, "%d", &n);
            for (int i=0, i<n, i++) fscanf(f, "%f", &a[i]);
            for (int i=0, i<n, i++) fscanf(f, "%d", &b[i]);
        }
        else
        {
            cout<<"Файл не найден"<<endl;
            system("PAUSE");
            return EXIT_SUCCESS;
        }
    }
    if (temp=='D')
    {
        srand(time(NULL));
        n=1+rand() %10;
        cout<<"Число элементов массива равно "<<n<<endl;
        cout<<"Тип float";
        for (int i=0, i<n, i++)
        {
            a[i]=(0+rand() %100)/10.0;
            cout<<a[i]<<"    ";
            cout<<endl;
        }
        for (int i=0, i<n, i++)
        {
            b[i]=0+rand() %100;
            cout<<b[i]<<"    ";
            cout<<endl;
        }
    }
    bool q;
    cout<<"Введите 0 для суммы или 1 для произведения"<<endl;
    cin>>q;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2011, 19:04     Создание шаблона функции
Посмотрите здесь:

C++ Создание шаблона функции
Создание шаблона однонаправленный список C++
Создание шаблона C++
Вызов функции (шаблона) C++
C++ Создание шаблона с перегрузкой стандартных операторов
Создание шаблона bool-функции, принимающей в качестве параметра экземпляр класса C++
Создание шаблона функции C++
C++ Создание класса шаблона, ассоциативного массива

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

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

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