Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Error 404:

#31
Entonces donde he puesto :
Código (cpp) [Seleccionar]

if (palíndromo())cout<<"es un palíndromo"


Debería poner esto otro:  :huh:

Código (cpp) [Seleccionar]

if (palíndromo(int n))cout<<"es un palíndromo"

Es que si hago ese cambio me sale el error : EXPECTED PRIMARY EXPRESSION BEFORE "int"
#32
Antes de todo muchas gracias por la ayuda tan rápida y buena. He realizado algunos cambios pero sigue habiendo algún problema. Aquí va el código:

Código (cpp) [Seleccionar]
#include <iostream>

#include <cstring>

using namespace std;

bool palindromo();

char *cadena;




int main(){


    cout << "Introduzca una palabra o cadena de ellas sin utilizar espacios y/o" << endl;

    cout << " mayusculas, minusculas, acentos, etc. El programa le dira si la" << endl;

    cout << " cadena introducida es un palindromo."<< endl;

   

    cin >> cadena;

    cin.get();

    if (palindromo()) cout<< "Es un palindromo.";

    else cout<< " No es un palindromo.";




cin.get();

return 0;

}

bool palindromo(int n)

{

     int j = sizeof(cadena)/sizeof(cadena[1]);

     int k = 0;

     do{

         if (&cadena[k]!=&cadena[j])( n=0); //AQUI NO ESTOY SEGURO DE QUE
                                       // TENGA QUE USAR LA DIRECCION
         else{       
                     k++;
                     j--;
                     n=1;
                }

       
         } while(k != j-1 || n!=0);

         if (n==1) return false; else return true;

}


El fallo que me pone es: [LINKER ERROR] UNDEFINIED REFERENCE TO ' palíndromo()'
ID RETURNED 1 EXIT STATUS
#33
Hola a todos
Os cuento, hoy me he puesto a hacer un programa bastante básico, que consiste en introducir una palabra o una frase y te devuelve si es un palíndromo o no.
Puesto que aún tengo un nivel muy muy básico (por no decir malo) al principio he aclarado que nunca se utilicen espacios, ni mayúsculas, ni acentos, y en fin, cualquier cosa que dificulte mucho más la programación.
Bueno os dejo el programa y la localización y el fallo que me pone, supongo que es importante decir que utilizo DEV-C++.
Espero que me d¡gáis una pista o algo de como solucionarlo, gracias.

#include <iostream>
#include <cstring>
using namespace std;
int n;
bool palindromo;
int j;
int main(){
    int i;
    char cadena;
   
    cout << "Introduzca una palabra o cadena de ellas sin utilizar espacios y/o" << endl;
    cout << " mayusculas, minusculas, acentos, etc. El programa le dira si la" << endl;
    cout << " cadena introducida es un palindromo."<< endl;
   
    cin >> cadena;
    cin.get();
    if (palindromo) cout<< "Es un palindromo.";
    else cout<< " No es un palindromo.";

cin.get();
return 0;
}

bool palindromo
{        //AQUI MARCA EL FALLO Y PONE: INVALID FUNCTION DECLARATION
     int j = sizeof(cadena)/sizeof(cadena[1]);
     int k = 1;
     do{
         if(strcmp(cadena[k],cadena[j])==0) k++ j-- n=1;
         else n=0;
         } while( k != j+1 && n!=0);
         if (n==1) return true; else return false;
}


Gracias por adelantado.
#34
Desafíos - Wargames / Re: Duda lenguaje HTML
18 Septiembre 2013, 09:32 AM
Eso si, pero como no entiendo ese lenguaje (solo deduzco algunas cosas porque se parece a cosas que e visto en otros lenguajes o incluso a algo que e visto en cracking), por eso digo si conoceis de algun manual que te enseñe esa parte del lenguaje y no su totalidad.
Muchas gracias.
#35
Desafíos - Wargames / Re: Duda lenguaje HTML
17 Septiembre 2013, 12:20 PM
Ups :-[  fallo por mi parte jajajaja. (aun soy muy novato, perdon por las barbaridades)
Si, veras  este es el ejemplo que no me he explicado bien XD.

<html>
<head>
<title>Zona 0</title>
</head>
<body>
<br><br>
Tu mision en el dia de hoy no es nada mas que entrar al area restringida de Zona 0. Como recuerdan estamos en una Zona de Guerra y tenemos que atacar a los enemigos. Se dice que hay una informacion que nos dara una gran ventaja en esta batalla. Nuestros espias nunca se equivocan y por eso necesitamos que tu entres a este lugar y nos saque la informacion. El problema es que solamente permiten a personas autorizadas con un codigo especial y un codigo solo sirve para una vez. Asi que intenta de entrar a la area restringida con algun codigo no usado previamente.<br><br>
Suerte,<br>
Torre de Comando

<script src="javascript"></script>


<br><br>
Codigo de Acceso:
<form name="shit" action="ver.php" method="GET">

<input type="text" name="cob">
<input type="submit" OnClick="ver(document.forms[0].cob.value)" value="Entrar">
</form>
<!--No intentes engañar el sistema-->
</body>

</html>


Una vez aqui le doy a javascript, y me sale esto:

function ver (cod) {

if (cod.length != 16){
alert("Codigo No Valido");
return false;
}

var codx =new Array(cod);
var chk = '';
var tmp;
var cvs;
var cvd;

cvd = cod.substr(15,1);
cod = cod.substr(0,15);

if (cod.length != 15 || IsNumeric(cod) == false){
alert("Codigo No Valido");
return false;
}

for (i=0;i<cod.length;i++){
   if (i%2 == 0){
   tmp = cod.substring(i,i+1) * 1;
   
   }
   else{
   tmp = cod.substring(i,i+1) * 2;
   }
   
  if (tmp >= 10){
  tmp = tmp.toString();
  tmp = tmp.substr(0,1) + tmp.substr(1,1);
  }
 
chk = chk.concat(tmp);
}

tmp = '';


for (i=0;i<chk.length;i++){
tmp = (tmp*1) + (chk.charAt(i)*1);
}


tmp = tmp.toString();
chk = (tmp.substr(0,1)*1) + (tmp.substr(1,1)*1);
chk = chk * 10;
chk = (chk*1) - (tmp*1);
cvs = chk % 10;

  if (cvs == cvd){
 
  return true;
  }
  else{
  alert("Codigo No Valido");
  return false;
  }
}


function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;


   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }



Creo que aqui es donde se hace la comparacion de la pass que pongo. Por eso, unicamente me interesa aprender esta parte del lenguaje,no su totalidad (no me refiero solo a entender lo de este ejemplo, sino lo que sea importante para hacer este tipo de retos)
Muchas gracias y perdon de nuevo por las tonterias que pueda soltar, aun estoy aprendiendo y me falta  muchiiiiiiiisimo jaja  ;)
#36
Desafíos - Wargames / Duda lenguaje HTML
17 Septiembre 2013, 12:03 PM
Hola a todos, intentaré ir al grano. En el reto de Zona 0; se que hay que mirar el codigo fuente y luego darle a javascript, el problema es que no se basicamente nada de lenguaje html, y e estado buscando manuales y no he encontrado lo que yo estoy buscando, porque sinceramente no me interesa demasiado aprender en su totalidad html (sobretodo porque actualmente estoy prendiendo C++); asi que me pregunto si sabeis de un manual que solo explique esa parte  del lenguaje, es decir la que se usa para comparar contraseñas, cifrarlas, etc... :huh:
Muchas gracias por adelantado  :)
#37
Vale he metido lo de cin.getline(cadena,100) pero ahora me da un numero mas raro y sin sentido ( en el tamaño), por ejemplo si pongo como cadena "hola amigo" me devuelve 6 de tamaño... :huh: me tiene perplejo no se...
Aqui va el codigo como lo tengo actualmente por si es que lo he metido mal o algo.
PD: GRACIAS POR SU PACIENCIA Y SU AYUDA  :rolleyes:

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
int LongitudCadena(char* cadena){
    int tamanyo = 0;
   
    while (cadena[tamanyo] != '\0')
    {
          tamanyo++;
    }
    return tamanyo;
}


int main() {
    char cadena[100];
    char resp[4];
     char c;
    do{
   
         cout << endl << endl;
         cout << "Introduce la cadena de la que desees saber su tamanyo:" << endl<< endl;
         cin >> cadena ;cout << endl << endl; cin.getline(cadena,100);
         cout << "Tamanyo de la cadena: "  << LongitudCadena(cadena) <<endl<<endl;cin.get();
         cout << "Desea hacer a otra cadena: "; cin >> resp ;cin.get();
         }
   
      while(resp[0]=='s'||resp[0]== 'S' ||resp[0]== 'y' ||resp[0]== 'Y') ;
   
    cin.get();
    return 0;
}
#38
Por cierto, me dijisteis para que volviera sin usar el goto, poniendo lo de indice = 0 .....  Pero como funciona, es decir, una pequeña explicacion para saber utilizarlo yo en caso de necesidad, es que no se como funciona, simplemente lo he puesto, pero no me gusta poner cosas sin saber de donde vienen ni como usarlas xd, sabran a lo que me refiero xd.
#39
Vale he efectuado los cambios y este es el resultado:
Código (cpp) [Seleccionar]

#include <iostream>
using namespace std;
int LongitudCadena(char* cadena){
   int tamanyo = 0;
   
   while (cadena[tamanyo] != '\0')
   {
         tamanyo++;
   }
   return tamanyo;
}


int main() {
   char cadena[100];
   char resp[4];
    char c;
   Bucle:
   
        cout << endl << endl;
        cout << "Introduce la cadena de la que desees saber su tamanyo:" << endl<< endl;
        cin >> cadena ;cout << endl << endl; cin.get();
        cout << "Tamanyo de la cadena: "  << LongitudCadena(cadena) <<endl<<endl;cin.get();
        cout << "Desea hacer a otra cadena: "; cin >> resp ;cin.get();
       
   
     if(resp[0]=='s'||resp[0]== 'S' ||resp[0]== 'y' ||resp[0]== 'Y') goto Bucle; cin.get();
   
   cin.get();
   return 0;
}


Pero lo malo es que si introduzco mas de una palabra solo me dice el tamaño de la primera y no del conjunto; supongo que por esta parte :
Código (cpp) [Seleccionar]
while (cadena[tamanyo] != '\0')
Ya que en cuanto hay un conjunto vacio deja de leer, ¿cómo podria hacer que lea mas palabras sin que cuente los espacios, es decir podria por ejemplo hacer que si lee dos conjuntos vacios (en vez de uno) deje de leer? Y de ser asi, como lo conseguiria???
Muchas gracias por tu ayuda amchacon me ha servido  :D
PD: YA SE QUE NO ES RECOMENDABLE USAR GOTO, PERO AL SER UN PROGRAMA FACIL NO CREO QUE DE PROBLEMAS AL COMPILADOR XD
#40
Hola a todos ( de nuevo ), siento tener que preguntar demasiadas cosas pero espero que tengan paciencia con este novato  :-[
El problema es el siguiente, tengo que hacer el siguiente ejercicio para el manual que me estoy leyendo:

Escribir un programa con una funcion que calcule la longitud de una cadena de caracteres. El nombre de la funcion sera LongitudCadena, debe devolver un "int", y como parametros de entrada debe tener un puntero a "char". (En "main" probar con distintos tipos de cadenas:arrays y punteros. )<--- Esto no lo pillo xd.

Ahora mismo llevo esto pero no me sale, agradeceria ayuda porque la verdad lo de los punteros me esta resultando bastante dificil   :-(

No estoy pidiendo que me manden el codigo del programa entero!!! (que sino no aprendo xd), sino que me digan mi error y si es posible un ejemplo de bien usado, pero en un miniejemplo no el programa.

Muchas gracias por adelantado ;)
PD: EN EL CODIGO DONDE PONE &#241; ES UNA --->Ñ<--- QUE EL C++ NO ME LEE XD
Código (cpp) [Seleccionar]


#include <iostream>
using namespace std;
bool LongitudCadena(char* cadena);
int main() {
    char cadena[100];
    char resp[4];
     char c;
     cadena=c;
    do{
         cout << endl << endl;
         cout << "Introduce la cadena de la que desees saber su tamaño:" << endl<< endl;
         cin >> cadena ;cout << endl << endl; cin.get();
         cout << "Tamaño de la cadena: "  << c <<endl<<endl;
         system("PAUSE");
         cout << "Desea reiniciar a otra cadena: "; cin >> resp;cin.get();
         
    }
      while(resp[0]==('s'|| 'S' || 'y' || 'Y'));
   
    cin.get();
    return 0;
}
bool LongitudCadena(char* n){
     for (i=0;i<100;i++)
     do (sizeof(cadena[i])); while( cin.get());
     }


Algo me tiene que fallar en el puntero, no se si es la declaracion o que exactamente pero algo me falla...  :huh:
Gracias de nuevo ;)