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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 [7] 8 9
61  Programación / Programación C/C++ / Calcular longitud de cadena C++ (punteros) en: 15 Septiembre 2014, 16:51 pm
Hola a todos, estoy intentando resolver un ejercicio de c++ que dice lo siguiente:

"Escribir un programa con una función que calcule la longitud de una cadena de caracteres. El nombre de la función será LongitudCadena, debe devolver un int, y como parámetro de entrada debe tener un puntero a char.
 En esta función no se pueden usar enteros para recorrer el array, usar sólo punteros y aplicar aritmética de punteros.
 En main probar con distintos tipos de cadenas: arrays y punteros."

Supongo que no vale esto de recorrer el array con un entero y luego devolver dicho entero, por tanto he probado con esto:

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int LongitudCadena(char*);
  6.  
  7. int main() {
  8. char cadena[10];
  9. char *pCadena = 0;
  10.  
  11. cout << "Introduce una cadena como array: ";
  12. cin >> cadena;
  13. cout << "Su tamano es: " << LongitudCadena(cadena) << ". " << endl;
  14. cout << "\nIntroduce una cadena como puntero: ";
  15. cin >> *pCadena;
  16. cout << "Su tamano es: " << LongitudCadena(pCadena) << ". " << endl;
  17.  
  18. cin.sync();
  19. cin.get();
  20. return 0;
  21. }
  22.  
  23. int LongitudCadena(char *a) {
  24. char *p, *q;
  25. p = a;
  26. q = a;
  27. while (*a) q++;
  28. return q-p;
  29. }

Seguro que hay una forma mucho mas simple, pero aun soy nuevo con esto de los punteros y no los comprendo muy bien. Espero que se pueda encontrar el fallo.

Un saludo.
62  Programación / Programación C/C++ / Re: Mi juego Snake C++ / SDL 2.0 en: 14 Septiembre 2014, 15:32 pm
Funciona muy bien. Un juego muy clásico y sencillo, perfecto para comenzar en el mundillo de los videojuegos. Te felicito y espero que llegues a crear mejores juegos! =D.

PD: Mi puntuación es 41 xd
63  Programación / Desarrollo Web / Re: Duda HTML en: 25 Agosto 2014, 16:22 pm
Ah, si ya sabia lo que era pero no que esas eran su siglas =S. Me parece una buena opción, aunque me hubiera gustado programar una web desde 0.

Saludos
64  Programación / Desarrollo Web / Re: Duda HTML en: 24 Agosto 2014, 16:54 pm
Vale, como pueden ver estoy comenzando en esto del diseño web, y ya pensaba que las tablas eran un poco coñazo. Entonces debería usar <div> no?. Que es eso del CMS? Alguien me lo podría explicar, si es tan amable?

Gracias por las respuestas.
65  Programación / Desarrollo Web / Duda HTML en: 23 Agosto 2014, 20:05 pm
Buenas a todos. Estoy elaborando una pequeña web en la que me ha surgido el siguiente problema:

Resulta que tengo a la izquierda un menú con diferentes links, y quiero que al hacer click en ellos se me muestre en una celda de una tabla determinada un documento HTML. Es esto posible? Que maneras hay de hacerlo?. Aquí el código:

Código
  1. <head>
  2. <title>MindElf CoD</title>
  3. <link rel="stylesheet" type="text/css" href="Estilo.css">
  4. </head>
  5.  
  6. <body>
  7. <table border="1px" width="100%" height="100%">
  8. <tr>
  9. <td height="30%">
  10.  
  11. </td>
  12. </tr>
  13. <tr>
  14. <td>
  15. <table border="1px" width="100%" height="100%">
  16. <tr>
  17. <td width="20%">
  18. <table width="100%" height="100%">
  19. <tr>
  20. <td class="menu">
  21. Portal
  22. </td>
  23. <tr>
  24. <tr>
  25. <td class="menu">
  26. Galer&iacute;a
  27. </td>
  28. <tr>
  29. <tr>
  30. <td class="menu">
  31. Videos
  32. </td>
  33. <tr>
  34. <tr>
  35. <td class="menu">
  36. <a href="https://www.youtube.com/user/Mindelfcod">YouTube</a>
  37. </td>
  38. <tr>
  39. <tr>
  40. <td class="menu">
  41. <a href="https://twitter.com/MindelfCoD">Twitter</a>
  42. </td>
  43. <tr>
  44. <tr>
  45. <td class="menu">
  46. Mi clan
  47. </td>
  48. <tr>
  49. </table>
  50. </td>
  51. <td>
  52.  
  53. </td>
  54. </tr>
  55. </table>
  56. </td>
  57. </tr>
  58. </table>
  59. </body>
  60. </html>
  61.  

Y esta es la web:

66  Programación / Programación C/C++ / Re: Error al compilar programa en c++ en: 23 Agosto 2014, 17:20 pm
Me gustaría darte un par de consejos. El primero es que no uses system("pause");, es una simple cuestión de portabilidad, al usarlo tienes que incluir la librería "cstdlib", y esta función esta ejecutando el comando "pause" que es propio del cmd de Windows. Con esto evitas que tu programa pueda ser ejecutado en Linux, u otras plataformas. Aunque no tiene demasiada importancia, es mejor acostumbrarse a usar cin.get(); que tiene la misma función y no necesita otra librería que no sea "iostream". Otra cosa es que en esta parte del código:

Código
  1. i=0;
  2. cont=0;
  3.  
  4.    cout<<"Por Favor Digite 2 numeros "<<endl;
  5.    cin>>m;
  6.    cin>>n;
  7.  
  8.  
  9.        for(i=0;i<m;i++)
  10.        {
  11.  
  12.        if(m%i==0)
  13.     {
  14.            cout<<"Los divisores de "<<m<<"son: "<<i<<endl;
  15.     cont=cont+1;
  16.        }
  17.  
  18.     cout<<"Hay "<<cont<<"Divisores del numero "<<m<<endl;
  19.    }
  20.  
  21.  

No es necesario que inicialices la variable i como 0, ya que eso lo haces en el bucle for. Y por último es lo que dice Blaster, en el if estas dividiendo el numero entre 0, lo cual no se puede hacer ni en matemáticas ni en programación.

Espero haberte ayudado, un saludo.
67  Programación / Programación C/C++ / Re: Palindromo C++ en: 23 Agosto 2014, 00:20 am
Vale, gracias a todos por las respuestas, la próxima vez me pondré a programar después de tomarme un buen café xd.

Aquí esta el código terminado, he corregido los fallos y añadido el "sistema" para las mayúsculas y minúsculas:

Código
  1. /*
  2. 5.Hacer un programa que contenga una función con el prototipo bool Palindromo(char palabra[40]);.
  3. La función debe devolver true si la palabra es un palíndromo, y false si no lo es.
  4. Una palabra es un palíndromo si cuando se lee desde el final al principio es igual que leyendo desde el principio,
  5. por ejemplo: "Otto", o con varias palabras "Anita lava la tina", "Dábale arroz a la zorra el abad".
  6. En estos casos debemos ignorar los acentos y los espacios, pero no es necesario que tu función haga eso,
  7. bastará con probar cadenas como "anitalavalatina", o "dabalearrozalazorraelabad".
  8. La función no debe hacer distinciones entre mayúsculas y minúsculas.
  9. */
  10.  
  11. #include <iostream>
  12. #include <cstring>
  13. #include <cctype>
  14.  
  15. using namespace std;
  16.  
  17. bool Palindromo(char palabra[40]);
  18. int LongCad(char[]); //Calcula la longitud de una cadena
  19.  
  20. int main() {
  21. char posiblePalindromo[40];
  22. cout << "Introduce tu palindromo: ";
  23. cin >> posiblePalindromo;
  24.  
  25. if (Palindromo(posiblePalindromo)) cout << "\nSi es un palindromo." << endl;
  26. else cout << "\nNo es un palindromo." << endl;
  27.  
  28. cin.sync();
  29. cin.get();
  30. return 0;
  31. }
  32.  
  33. bool Palindromo(char palabra[40]) {
  34. char copia[40];
  35.  
  36.  
  37. for (int i = 0; i <= LongCad(palabra) - 1; i++) if (isupper(palabra[i])) palabra[i] = tolower(palabra[i]); //Convierte todos los caracteres a minuscula
  38.  
  39. strcpy_s(copia, palabra); //Se copia la cadena para una posterior comparación
  40.  
  41. int q = 0, p = LongCad(palabra) - 1, aux;
  42. while (q < p) { //Invierte los elementos de la cadena "palabra"
  43. aux = palabra[q];
  44. palabra[q] = palabra[p];
  45. palabra[p] = aux;
  46. q++;
  47. p--;
  48. }
  49.  
  50. if (strcmp(palabra, copia) == 0) return true;
  51. else return false;
  52. }
  53.  
  54. int LongCad(char a[]) {
  55. int i = 0;
  56. while (a[i]) i++;
  57. return i;
  58. }
  59.  
  60.  
68  Programación / Programación C/C++ / Palindromo C++ en: 22 Agosto 2014, 22:43 pm
Hola a todos. Quería comentarles una duda que tengo intentando resolver un ejercicio en C++. El enunciado se incluye en el código. El problema es que creo que esta todo bien y correcto, pero el resultado es que la función siempre devuelve true, o al menos eso parece. Aquí esta el código.

Código:
/*
5.Hacer un programa que contenga una función con el prototipo bool Palindromo(char palabra[40]);.
La función debe devolver true si la palabra es un palíndromo, y false si no lo es.
Una palabra es un palíndromo si cuando se lee desde el final al principio es igual que leyendo desde el principio,
por ejemplo: "Otto", o con varias palabras "Anita lava la tina", "Dábale arroz a la zorra el abad".
En estos casos debemos ignorar los acentos y los espacios, pero no es necesario que tu función haga eso,
bastará con probar cadenas como "anitalavalatina", o "dabalearrozalazorraelabad".
La función no debe hacer distinciones entre mayúsculas y minúsculas.
*/

#include <iostream>

using namespace std;

bool Palindromo(char palabra[40]);
int LongCad(char[]);

int main() {
char posiblePalindromo[40];
cout << "Introduce tu palindromo: ";
cin >> posiblePalindromo;

if (Palindromo(posiblePalindromo)) cout << "\nSi es un palindromo." << endl;
else cout << "\nNo es un palindromo." << endl;

cin.sync();
cin.get();
return 0;
}

bool Palindromo(char palabra[40]) {
char copia[40];
strcpy_s(copia, palabra);

int q = 0, p = LongCad(palabra), aux;
while (palabra[q] < p) {
aux = palabra[q];
palabra[q] = palabra[p];
palabra[p] = aux;
q++;
p--;
}

if (strcmp(palabra, copia) == 0) return true;
else return false;
}

int LongCad(char a[]) {
int i = 0;
while (a[i]) i++;
return 0;
}
[code=cpp][code=actionscript]
[/code][/code]

**EDITO: En el código no he puesto la librería necesaria "cstring" aun asi el código compilaba =S. Luego la puse y el mismo resultado.
69  Programación / Programación C/C++ / Re: Problema al intentar compilar con Eclipse en Ubuntu en: 9 Agosto 2014, 21:04 pm
Sinceramente te recomiendo que para c++ utilices codeblock o codelite si NO estas usando Windows.
70  Programación / Programación C/C++ / Re: Una duda muy simple en: 8 Agosto 2014, 18:54 pm
Simplemente, usa cada cosa en su momento.
Si sólo usarás el índice del bucle como contador DENTRO del bucle, pues se inicializa en el for. Si lo necesitas fuera, pues lo inicializas fuera.

Como dato, te digo que puedes hacer esto:

Código
  1. int main(){
  2.    int a=0;
  3.    {
  4.        int b=0;
  5.    }
  6. }

Puedes poner cuando quieras un par de llaves. Las variables que haya dentro de las llaves, desaparecerán cuando se cierren.

Interesante, no sabia que se podía hacer eso. Supongo que ya he aprendido algo más sobre c++. Gracias por la respuesta :)
Páginas: 1 2 3 4 5 6 [7] 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines