elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  vector simetrico (palíndromo)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: vector simetrico (palíndromo)  (Leído 5,372 veces)
indict

Desconectado Desconectado

Mensajes: 78


Ver Perfil
vector simetrico (palíndromo)
« en: 11 Diciembre 2012, 20:13 pm »

Crear un programa que dada una secuencia diga si es palíndromo,

palíndromo es secuencia simétrica, ejemplos: 1122, 12321, 1551, ...

Mi duda está en que si el vector no es palíndromo me imprime que no lo es , pero si SÍ lo es no imprime que lo sea.

Código:
#include<iostream>
#include<vector>
using namespace std;

bool palindromo(vector<int>v){
    int i=0, j=v.size()-1;
    while(i<j){
        if(v[i]!=v[j]){return false;}}
    return true;}
       

int main(){
    int n,e,i;
    cout<<"mida";
    cin>>n;
    vector<int>v(n);
    for (i=0;i<n;i++){
        cout<<" l'element "<<i<<" ... ";
        cin>>e;
        v[i]=e;}
   
    if (palindromo(v)){cout<<"el vector es simetrico"<<endl;}
    else {cout<<"el vector no es simetrico"<<endl;}
   
    system("pause");
    return 0;}

¡Gracias por la ayuda!


En línea

xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: vector simetrico (palíndromo)
« Respuesta #1 en: 11 Diciembre 2012, 20:27 pm »

nunca alteras la variable de control del while en tu funcion palindromo. prueba con:

Código
  1. if (v[i++] != v[j--]) return false;


En línea

indict

Desconectado Desconectado

Mensajes: 78


Ver Perfil
Re: vector simetrico (palíndromo)
« Respuesta #2 en: 11 Diciembre 2012, 20:43 pm »

gracias xiruko :)
En línea

bemone

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Re: vector simetrico (palíndromo)
« Respuesta #3 en: 16 Diciembre 2012, 22:39 pm »

Código
  1. #include <iostream>
  2. #include <string>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. int main(int argc, char *argv[])
  8. {
  9. string str, str2;
  10. cin >> str;
  11.  
  12. size_t pos = str.find_first_of(" ");
  13. while(pos != string::npos){
  14. str.erase(pos);
  15. pos = str.find_first_of(" ");
  16. }
  17.  
  18. str2 = str.substr(0, str.length());
  19. reverse(str.begin(), str.end());
  20.  
  21. if(str2 == str)
  22. cout << "La frase '"<<str<<"' es palindroma." <<endl;
  23. else
  24. cout << "La frase '"<<str<<"' no es palindroma." <<endl;
  25.  
  26. system("pause");
  27.        return EXIT_SUCCESS;
  28. }
En línea

Odio los tipos de variable de Windows.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
palindromo « 1 2 »
Programación C/C++
ALONSOQ 16 11,846 Último mensaje 7 Agosto 2012, 17:52 pm
por X3R4CK3R
Competencia de cifrado simetrico
Criptografía
virus h- 0 2,698 Último mensaje 9 Septiembre 2012, 21:05 pm
por virus h-
Decir si un vector es palindromo o no
Programación C/C++
sora_ori 3 7,639 Último mensaje 16 Diciembre 2013, 13:35 pm
por leosansan
1 Mb simetrico vs ADSL
Dudas Generales
jcoro 4 5,299 Último mensaje 18 Diciembre 2013, 00:07 am
por jcoro
Librerias de Cifrado Simetrico y Asimetrico en C/C++
Programación C/C++
AlbertoBSD 2 5,360 Último mensaje 22 Septiembre 2016, 23:29 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines