Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не получается шаблон класса, ошибка в шаблоне класса 
:(
    Опции темы
Yuran89
Дата 26.1.2010, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 16.1.2009
Где: }{рустовая

Репутация: нет
Всего: 1



Всем доброго времени суток. У меня такая проблема:
Написал шаблон класса, но он не работает для типов 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();

}

PM MAIL WWW   Вверх
cristaloleg
Дата 26.1.2010, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 15.6.2009
Где: Donetsk

Репутация: нет
Всего: нет



у вас кол-во элементов хранится в типе double/float, а индекс должен быть целочисленным
PM   Вверх
Yuran89
Дата 26.1.2010, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 16.1.2009
Где: }{рустовая

Репутация: нет
Всего: 1



это я уже исправил на
    Tip *A;
    int n;
но все равно та же проблема. Программа не работает с вещественными числами.Как только встречается таковой, сразу выбрасывает на результат....
PM MAIL WWW   Вверх
andrew_121
Дата 26.1.2010, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



судя по этому:
Цитата(Yuran89 @  26.1.2010,  18:58 Найти цитируемый пост)
#include <iostream.h>

и потому что пространство std по умолчанию открыто, у вас древнющий компилятор. у меня все скомпилилось. gcc-4.4.2


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Yuran89
Дата 26.1.2010, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 16.1.2009
Где: }{рустовая

Репутация: нет
Всего: 1



Компиляцию программа прошла и у меня. Да в общем и работает она правильно. Только вот когда тестировал ее я делал глупую ошибку: дробные числа вводил через запятую а не через точку)  .
cristaloleg , andrew_121 спасибо за интерес к моей проблеме).
PM MAIL WWW   Вверх
andrew_121
Дата 26.1.2010, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Yuran89, тему отметь решенной.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2353 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.