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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чем заменить cin? http://www.cyberforum.ru/cpp-beginners/thread398769.html
как можно иначе динамически инициализировать переменную. чтобы не применять cin ? например cout я подменил на printf просто делаю лабораторную и при появление в коде программы cout или cin преподаватель начинает грузить такими вопросами ответы на которые я пойму наверняка еще не скоро..
C++ файл. d3dx9d.dll вопрос не совсем по теме, но все же... Я откомпилировал код, запустил программу и мне выдало ошибку, что у меня нет файла d3dx9d.dll. Может кто подскажет где скачать этот файл и куда его после кидать? http://www.cyberforum.ru/cpp-beginners/thread398751.html
C++ 1.Написать программу, вычисляющую размер памяти, отводимой компилятором под тип int
#include "iostream.h" int main() { int x; cin>>x; cout<<"razmer tipa int"<<sizeof(int)<<sizeof(x)<<"\n"; return 0; } правильно ли?
что делать дальше? Класс Книга. C++
Помогите разобраться с тем, что делать дальше... Создать класс КНИГА с атрибутами: название, автор, кол-во страниц. Реализовать методы: посмотреть всю информацию об объекте, вернуть всю информацию об объекте, вернуть автора книги. Создать производный класс ДЕТСКАЯ КНИГА со своими атрибутами: издательство, стоимость; и методами: изменить стоимость, осмотреть свойства объекта(заместить...
C++ обработка литерных величин http://www.cyberforum.ru/cpp-beginners/thread398740.html
проверьте , можно ли из букв слова Х составить слово У. можете ещё комментариями объяснить?
C++ Подсчет факториала рекурсией(код в нутри). надо подсчитать факториал рекусией, но так как в программе(что бы переменную nможно было использовать не только в рекурсии) #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; int x,n,m,i; void vvod_par() подробнее

Показать сообщение отдельно
darkage1986
Сообщений: n/a

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

04.12.2011, 19:04. Просмотров 430. Ответов 0
Метки (Все метки)

Помогите, пожалуйста, написать шаблон функции. Вот задание:

Общая задача 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;
}
 Комментарий модератора 
Используйте теги форматирования кода!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru