G
Guest
Всем доброго времени суток. У меня такая проблема:
Написал шаблон класса, но он не работает для типов double и float. Задача заключается в том чтобы написать шаблон класса massiv в котором хранится одномерный массив, есть конструктор, функция сортировки и показа отсортированного массива.
Все работает, но только для целых чисел, а для остальных типов не работает...
Вот код:
Написал шаблон класса, но он не работает для типов double и float. Задача заключается в том чтобы написать шаблон класса massiv в котором хранится одномерный массив, есть конструктор, функция сортировки и показа отсортированного массива.
Все работает, но только для целых чисел, а для остальных типов не работает...
Вот код:
Код:
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
template < class Tip >
class Massiv
{
Tip *A,n;
public:
Massiv ()
{
cout<<"Vvedite col-vo elementov"<<endl;
cin>>n;
A=new Tip[n];
cout<<"Vvodite elementi"<<endl;
for(int i=0; i<n;i++)
cin>>A[i];
}
void Show()
{
for(int i=0;i<n;i++)
cout<<A[i]<<" ";
cout<<endl;
}
void Sort()
{
int i;
int j;
Tip tmp;
for(i = 0; i <= n-1; i++)
{
for(j = 0; j <= n-2-i; j++)
{
if( A[j]>A[j+1] )
{
tmp = A[j];
A[j] = A[j+1];
A[j+1] = tmp;
}
}
}
for(i=0;i<n;i++)
cout<<A[i]<<" ";
cout<<endl;
}
};
void main()
{
cout<<"Celie: "<<endl;
Massiv< int > I;
cout<<endl;
cout<<"Vechcestvennie: "<<endl;
Massiv< float > D;
cout<<endl;
cout<<"Dlia int: "<<endl;
I.Sort();
cout<<"Dlia double"<<endl;
D.Sort();
}