Narzędzia użytkownika

Narzędzia witryny


fill_fill_n

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

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]
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>​
fill_fill_n.txt · ostatnio zmienione: 2009/04/28 21:06 przez mroman