Pojemniki vector - Potrzebuje rady

0

Witam. Dostałam na zajęciach program do napisania, ale niestety nie miałam na zajęciach w ogóle nic o pojemnikach. Szukałam podobnego programu na forum i różnych stronach i nie udało mi się nic znaleźć aby coś napisać. Problemem głównie jest użycie szablonu template. Treść zadania

Pojemnik vector wypełnij interakcyjni liczbami (int, long,float,double) - użyj szablonu (template). Posortuj zawartosc od najmniejszej do największej metoda bąbelkową. Ma to być napisane w języku c++.

Napisałam program ale z samym int, i nie mam pojęcia jak to przerobić by był ten szablon template. Może ktoś z Was spotkał się z tym problemem i zechciałby mi pomóc.

#include <iostream>
#include <vector>
 
using namespace std;
 int main()
{
    int n,x,temp;
    vector < int > tab;
     x=0;
 
    cout << "Podaj ile liczb chcesz wprowadzic: ";
    cin >> n;
    cout << endl; 
    for (int i = 0; i < n; i++)
    {
        cout << "Podaj " << i + 1 << " liczbe: ";
        cin >> x;        tab.push_back( x );
    }
    cout << endl;
 
    for( int i = 0; i < tab.size(); i++ )    {
        cout << tab[ i ] << ", ";
    }
 
     for( int i = 0; i < tab.size(); i++ )
    {
        for( int j = 0; j < tab.size() - 1; j++ )
        {
            if( tab[ j ] > tab[ j + 1 ] )            {
                temp = tab[j];
                tab[j] = tab[j+1];
                tab[j+1]= temp;
            } 
        }
    }
 
    cout <<" Po posortowaniu" << endl; 
    for( int i = 0; i < tab.size(); i++ )
    {
        cout << tab[ i ] << ", ";
    }     return 0;
}
0

Sądzę że chodzi o coś takiego:

template<typename T> void wczytaj(vector<T> &v)
  {
   for (int i=0;i<v.size();cin>>v[i++]) cout<<"Podaj "<<(i+1)<<" liczbe: ";
  }
vector<int> tabi(n);
wczytaj(tabi);
vector<float> tabf(n);
wczytaj(tabf);
0

Masz samodzielnie zrealizować tą klasę czy możesz użyć STL'a do jej realizacji?

0

A to skąd masz:

template <class T>
class Wektor
{
private:
T a;
T b;


};

w main
Wektor<int> wektorSkladoweJakoInty;
Wektor<double> WektorSkladoweJakoDouble;
Wektor<Wektor> wektorSkladowejakoWektory;

Bo to koliduje z wytycznymi:

Pojemnik vector wypełnij interakcyjni liczbami (int, long,float,double) - użyj szablonu (template). Posortuj zawartosc od najmniejszej do największej metoda bąbelkową.

0

Tworzysz klase wektor jako szablon.
Dodajesz metody add/remove etc.
Dodajesz metode sort implementujaca sortowanie babelkowe
i tyle.

0

W takim razie to co ci powiedziałem w pierwszym poście. Tak samo masz zrobić sortowanie i wypisywanie.

0

Możesz nawet 100 różnych utworzyć. Przecież to wzorzec.

0

Robisz jeden wzorzec funkcji sortującej ale wywołujesz go 4-krotnie.

0

Nie sądzę, najbardziej prawdopodobny scenariusz że ci się nie skompiluje i będziesz drążył ten temat tu na forum dopóki ktoś się nie zlituje i nie wstawi ci gotowca.

1 użytkowników online, w tym zalogowanych: 0, gości: 1