Różnice między wybraną wersją a wersją aktualną.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
fill_fill_n [2009/04/28 20:41] mroman |
fill_fill_n [2009/04/28 21:06] (aktualna) mroman |
||
|---|---|---|---|
| Linia 30: | Linia 30: | ||
| - | ===== Parametry replace_if===== | + | ===== Parametry fill_n()===== |
| * ForwardIterator first - pierwszy element który zostanie zamieniony | * ForwardIterator first - pierwszy element który zostanie zamieniony | ||
| * Size n - ilość zamienonych elemntów zaczynając o delemntu first | * Size n - ilość zamienonych elemntów zaczynając o delemntu first | ||
| Linia 36: | Linia 36: | ||
| ===== Przykład ===== | ===== Przykład ===== | ||
| + | |||
| + | |||
| + | <code cpp> | ||
| + | #include <algorithm> | ||
| + | #include <vector> | ||
| + | #include <string> | ||
| + | #include <iostream> | ||
| + | |||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | |||
| + | // Prosta klasa służąca do demonstracji | ||
| + | class Towar | ||
| + | { | ||
| + | private: | ||
| + | string status; | ||
| + | int cena; | ||
| + | public: | ||
| + | Towar() | ||
| + | { | ||
| + | status="W sklepie"; | ||
| + | cena=100; | ||
| + | } | ||
| + | Towar(string c,int x) | ||
| + | { | ||
| + | status=c; | ||
| + | cena=x; | ||
| + | } | ||
| + | void wypisz() | ||
| + | { | ||
| + | cout<<status<<endl; | ||
| + | } | ||
| + | }; | ||
| + | </code> | ||
| + | |||
| + | Przykład pokazuje wykorzystanie obu algorytmów w połączeniu z stworzoną przez nas klasa i wektorem | ||
| + | |||
| + | <code cpp> | ||
| + | int main() | ||
| + | { | ||
| + | //Stworzenie wektora z towarami; | ||
| + | vector<Towar> towary; | ||
| + | |||
| + | //Tworzenie towarów | ||
| + | Towar nieprzeceniony; | ||
| + | Towar przeceniony("przecenione",50); | ||
| + | Towar zamowiony("zamowione",0); | ||
| + | |||
| + | //Dodanie towarów nieprzecenionych do wektora | ||
| + | for(unsigned int i=0;i<=5;i++) | ||
| + | towary.push_back(nieprzeceniony); | ||
| + | |||
| + | cout<<"Lista towarow przed zastosowaniem algorytmów: "<<endl; | ||
| + | for(unsigned int i=0;i<=towary.size()-1;i++) | ||
| + | towary[i].wypisz(); | ||
| + | cout<<endl; | ||
| + | </code> | ||
| + | |||
| + | Użycie algorytmu fill do zamiany towarów na przecenione oprócz dwóch ostatnich i wyświetlenie wyników | ||
| + | |||
| + | <code cpp> | ||
| + | fill(towary.begin(),towary.end()-2,przeceniony); | ||
| + | |||
| + | cout<<"Lista towarow po zastosowaniu algorytmu fill() : "<<endl; | ||
| + | for(unsigned int i=0;i<=towary.size()-1;i++) | ||
| + | towary[i].wypisz(); | ||
| + | cout<<endl; | ||
| + | </code> | ||
| + | |||
| + | Użycie algorytmu fill_n do zamiany statusu przech pierwszych towarów na zamowione i wyświetlenie wyników | ||
| + | <code cpp> | ||
| + | fill_n(towary.begin(),3,zamowiony); | ||
| + | |||
| + | cout<<"Lista towarow po zastosowaniu algorytmu fill_n(): "<<endl; | ||
| + | for(unsigned int i=0;i<=towary.size()-1;i++) | ||
| + | towary[i].wypisz(); | ||
| + | cout<<endl; | ||
| + | |||
| + | |||
| + | } | ||
| + | </code> | ||