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

Перегрузка шаблонов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вектор и матрица http://www.cyberforum.ru/cpp-beginners/thread140073.html
Ребят, помогите пожалуйста) вот в чем проблема: надо составить ф-ю вычисления среднего арифметического вектора, а затем преобразовать матрицу следующим образом: заменить все диагональные элементы средним арифметическим. т.е. найти ср. а. в каждой строке матрицы и заменить к примеру, если матрица 3Х3 то в первой строке будет заменяться первый элемент, во второй второй и в третьей третий...
C++ Иерархия классов У меня такое задание по С++ а я в нем не дупля. Кто может сделать это задание. Буду очень благодарен... Иерархия классов тест, экзамен, выпускной экзамен, испытание; Вариант запроса: средний бал по предмету для всех студентов. http://www.cyberforum.ru/cpp-beginners/thread140054.html
C++ двумерный динамический массив, функции
перевести данный двумерный статический массив в динамический и описать программу с помощью функций #include "stdafx.h" #include <iostream.h> int main(int argc, char* argv) { int s; const int ii =3; const int jj =3; int i, j;
C++ Отсортировать массив по убыванию и по возрастанию
массив,разбитый на зоны,каждая из которых составляет четверть общего колличества элементов,отсортировать по убыванию и по возрастанию.
C++ Как сделать блок схему? http://www.cyberforum.ru/cpp-beginners/thread140016.html
Помогите сделать блок схему к программе: #include <iostream> #include <iomanip> #include <windows.h> #include <time.h> #include <conio.h> #include<stdlib.h> using namespace std;
C++ найти среднее геометрическое положительных членов последовательности Здравствуйте! Помогите пожалуйста! Если данная последовательность не упорядочена ни по неубыванию, ни по невозрастанию, найти среднее геометрическое положительных членов. Применить сортировку простого выбора. Напиши процедуру сортировки! Заранее благодарна! подробнее

Показать сообщение отдельно
HenryL
2 / 2 / 0
Регистрация: 14.04.2010
Сообщений: 32
03.06.2010, 06:18     Перегрузка шаблонов
Всем привет, очень прошу, помогите переделать следующий код, сделав каждое вычисление в виде шаблона:
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 "stdafx.h" 
#include "conio.h"
#include "math.h"
#include "iostream" 
#include "math.h" 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
 
{int n, sum, t, m, r;
double temp;
U:
cout << "Vvedite kol-vo elementov massiva n:" << "";
cin >> n;
double *b = new double [n];
for(int i=0;i<n;i++)
{cout << "Vvedite b[" <<i<< "]: " << "";
cin >>b[i]; 
}
cout << endl;
cout << endl;
cout << "b: { " << "";
for(int i=0;i<n;i++)
{cout << b[i] << " ";}
cout << "}" << "";
cout << endl;
cout << endl;
sum=0;
for(int i=0;i<n;i++)
if (b[i]==0)
{sum=sum+1;}
cout << "Kol-vo nulevih elementov: " << sum << endl;
cout << endl;
for (int i=0;i<n;i++)//упорядочивание массива по убыванию
{
for (int j=0;j<n;j++)
{
  if (b[j]< b[j+1])
{
   temp=b[j];
   b[j]=b[j+1];
   b[j+1]=temp;
}
}
}
double *X = new double [n];
 
if (n % 2==0) t=n;
else t = n-1;
int k, l;
k=0;
l=n-1;
for (int i=0; i<t; i+=2)
{
    X[k++]=b[i];
    X[l--]=b[i+1];
}
if (t!=n) X[k]=b[n-1];
cout << endl;
cout << "X: { " << "";
for(int i=0;i<n;i++)
{cout << X[i] << " ";}
cout << "}" << "";
cout << endl;
double *Y = new double [n];
m=n/2;
int i=n-1;
int o=0;
do
{
Y[o] = b[i--];
Y[n - 1 - o] = b[i--];
o++;
}
while(o < n/2);
if(n%2) Y[n/2] = b[0];
cout << endl;
cout << "Y: { " << "";
for(int i=0;i<n;i++)
{cout << Y[i] << " ";}
cout << "}" << "";
cout << endl;
cout << endl;
cout <<"Povtorit'? 1 - Yes/ 0 - No" << endl;
cin >> r;
cout << endl;
cout << endl;
if (r==1) goto U;
else
_getch();
}
У меня ничего не получается, вот пробовал сделать шаблоном сортировку массива b:
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
#include <stdio.h>
#include "stdafx.h"
#include "fstream"
#include "conio.h"
#include "math.h"
#include "iostream" 
 
using namespace std;
template <class Type>
Type sort(Type *b, int n)
{   Type temp;
    for (int i=0;i<n;i++)//упорядочивание массива по убыванию
{
for (int j=0;j<n;j++)
{
  if (b[j]< b[j+1])
{
   temp=b[j];
   b[j]=b[j+1];
   b[j+1]=temp;
}
}
}
    return b;
}
template <class Type>
void main(Type *b, int n)
{
    int sum, t, m, r;
    cout << "Vvedite kol-vo elementov massiva n:" << "";
    cin >> n;
    for(int i=0;i<n;i++)
    {
        cout << "Vvedite b[" <<i<< "]: " << "";
        cin >>b[i]; 
    }
    cout << endl;
    cout << endl;
    cout << "b: { " << "";
    for(int i=0;i<n;i++)
    {
        cout << b[i] << " ";
    }
    cout << "}" << "";
    cout << endl;
    cout << endl;
    sort(b);
    _getch();
}
Не работает! Пожалуйста помогите, времени совсем нет!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru