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> |