Narzędzia użytkownika

Narzędzia witryny


adjacent_find

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
adjacent_find [2008/12/11 19:18]
pejotr
adjacent_find [2008/12/12 18:45] (aktualna)
pejotr
Linia 34: Linia 34:
   * last   - iterator wskazujący koniec zakresu do przeszukania   * last   - iterator wskazujący koniec zakresu do przeszukania
   * binary_pred - opcjonalny argument, wskaźnik na funkcję dokonującej porównania   * binary_pred - opcjonalny argument, wskaźnik na funkcję dokonującej porównania
- 
 ===== Przyklady ===== ===== Przyklady =====
  
Linia 43: Linia 42:
  
 int main() { int main() {
-   vector<​int>​ v1;+  ​vector<​int>​ v1;
  
-   for( int i = 0; i < 10; i++ ) { +  ​for( int i = 0; i < 10; i++ ) { 
-     ​v1.push_back(i);​ +    v1.push_back(i);​ 
-     ​ +     
-     ​// zmuszenie do zdublowania wartości 7 i 9 +    // zmuszenie do zdublowania wartości 7 i 9 
-     ​if( i == 7 || i == 9 ) { +    if( i == 7 || i == 9 ) { 
-       ​v1.push_back(i);​ +      v1.push_back(i);​ 
-     ​+    
-   ​}+  }
    
-   vector<​int>::​iterator result; +  ​vector<​int>::​iterator result; 
-   ​result = adjacent_find( v1.begin(), v1.end() ); +  result = adjacent_find( v1.begin(), v1.end() ); 
-  +   
-   ​if( result == v1.end() ) { +  if( result == v1.end() ) { 
-     ​cout << "Nie znaleziono dwóch identycznych kolejno występujących elemntów"​ << endl; +    cout << "Nie znaleziono dwóch identycznych kolejno występujących elemntów"​ << endl; 
-   ​+  
-   ​else { +  else { 
-     ​cout << "​Znaleziona dwa identyczne kolejno występujące elementy. Pierwszy element: " << *result << endl; +    cout << "​Znaleziona dwa identyczne kolejno występujące elementy. Pierwszy element: " << *result << endl; 
-   ​}+  }
  
   result = adjacent_find (++result, v1.end());   result = adjacent_find (++result, v1.end());
Linia 80: Linia 79:
 <code cpp> <code cpp>
 #​include<​alghoritm>​ #​include<​alghoritm>​
 +#​include<​list>​
 +#​include<​iostream>​
  
 // sprawdza czy następny element jest 2 razy większy od obecnego // sprawdza czy następny element jest 2 razy większy od obecnego
Linia 90: Linia 91:
 int main() { int main() {
  
-  list <int> L; +  ​std::list<​int>​ L; 
-  ​list <int>::iterator Iter; +  ​std::list <​int>::​iterator result;
-  ​list <​int>::​iterator result;+
        
   L.push_back( 50 );   L.push_back( 50 );
Linia 100: Linia 100:
   L.push_back( 20 );   L.push_back( 20 );
  
-  result = adjacent_find( L.begin( ), L.end( ), twice ); +  result = std::adjacent_find( L.begin( ), L.end( ), twice ); 
-  if ( result2 ​== L.end( ) ) { +  if ( result ​== L.end( ) ) { 
-    cout << "Nie występuje para kolejnych elementów, w której jeden element jest dwukrotnie większy od drugiego"​ << endl;+    ​std::cout << "Nie występuje para kolejnych elementów, w której jeden element jest dwukrotnie większy od drugiego"​ << ​std::endl;
   }   }
   else {   else {
-      cout << "​Występuje para elementów w których ​jeden jest 2 razy większy od drugiego"​ << "\n Wartości tych elementów"​ << *(result++); +      ​std::cout << "​Występuje para elementów w której ​jeden jest 2 razy większy od drugiego" ​<< std::​endl ​<< "​Wartości tych elementów"​ << *(result);​ 
-      cout << " ​" << *result << endl;+      ​std::cout << " ​oraz " << *(++result<< ​std::endl;
   }   }
- 
- 
- 
 } }
 </​code>​ </​code>​
  
 +
 +===== adjacent_find.cpp ​ =====
 +{{:​stl_algorytmy:​stl_algorytmy:​adjacent_find2.cpp|}}
  
  
adjacent_find.1229019532.txt.gz · ostatnio zmienione: 2008/12/11 19:18 przez pejotr