Menú principal

miércoles, 2 de septiembre de 2020

Vector capicua con variable bandera - C++

Se pide comprobar si un vector es capicua mediante una variable bandera. Dicha variable tomara el valor 1 si el vector es capicua y 0 si el vector no lo es. Para ello, se ha implantado una función llamada "avisador" de tipo bool la cual recorrerá el vector por delante y por detrás mediante dos contadores, i y j. Se irá comprobando si los valores que toma el vector en esas posiciones son iguales respectivamente y finalmente la función devolverá 1 o 0. A continuación se muestra el programa.

 1 #include <iostream>
 2  #include <vector>
 3  using namespace std;
 4  bool avisador(vector<int>);
 5  
 6  int main()
 7  {
 8      vector<int> v{1,2,2,1};
 9      bool bandera=avisador(v); //Sera 0 o 1
10  
11      if(bandera)
12          cout << "NO ES CAPICUA" << endl;
13      else
14          cout << "ES CAPICUA" << endl;
15  }
16  
17  bool avisador(vector<int> v)
18  {
19      size_t j=v.size()-1;
20  
21      for(size_t i=0; i<v.size()/2; i++)
22      {
23          if(v.at(i)!=v.at(j))
24              return 1;
25          j--;
26      }
27      return 0;
28  }

No hay comentarios:

Publicar un comentario