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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Temas
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31
261  Programación / Programación C/C++ / Grafos en: 7 Noviembre 2018, 01:44 am
No entiendo bien la definicion de estructura de grafos utilizando listas enlazadas, masomenos lo entiendo pero ahora me perdi, alguien sabe? gracias?

Código
  1. typedef struct arco *parco;
  2. typedef struct vertice *pvertice;
  3. typedef struct arco{
  4. float peso;
  5. pvertice destino;
  6. parco sigarco;
  7. };
  8. typedef struct vertice{
  9. int id;
  10. pvertice sigvertice;
  11. parco lista_arco;
  12. };
262  Programación / Programación C/C++ / AVL Y B en: 1 Noviembre 2018, 14:12 pm
Alguien me ayuda con arboles AVL y B? Que me pasen un tutorial con el que se les haya sido facil entenderlo, porfis
263  Programación / Bases de Datos / Duda acerca de semantica e itegridad en: 28 Octubre 2018, 17:30 pm
Hola, lei unos apuntes del secundario y todo el principio se referia a restricciones de semantica e integridad y ademas sobre el concepto de semantica e integridad, en terminos generales a que se refiere la semantica y la integridad? desde ya muchas gracias
264  Programación / Bases de Datos / Base de Datos en: 26 Octubre 2018, 03:32 am
Hola, no se si sea la sección correcta , perdon de antemano, bien, soy nueva en Base de Datos y quisiera saber si alguien me puede hacer una guia lo mas corta posible sobre el tema y que herramientas necesito para hacer mis bases de datos, quiero decir que lenguaje debo aprender y todo eso, actualmente ya se programar en C/C++ y Java
265  Programación / Programación C/C++ / recursividad ejercicio basico en: 25 Octubre 2018, 05:06 am
Primero que nada hola, tengo el siguiente problema
Realice un algoritmo recursivo implementando el tda abb para invertir el orden de las silabas de las palabras de una frase pero no el orden de sus palabras, es decir si yo ingreso la palabra "maestro yi" me tendria que devolver "troesma yi" o "tinto" devolveria "totin" , realice una prueba de escritorio, es algo complicado si, pero no se como empezar  :(
266  Programación / Programación C/C++ / funcion gotoxy en: 21 Octubre 2018, 20:35 pm
Hola miren estoy buscando la manera de mostrar el contenido de un arbol binario de busqueda de forma muy grafica por pantalla es decir de esta manera

                RAIZ
       12                  33
   6      15          51
       14   19

Tengo estos metodos pero a la hora de imprimir por pantalla se me superpone el mensaje
"Presione una tecla para continuar...." y no me gusta


Código
  1. void mostrar(pnodo arbol, int Y)
  2. {
  3. if(arbol!=NULL){
  4. X+=5;
  5. mostrar(arbol->izq,Y+2);
  6. gotoxy(10+X-Y,15+Y);
  7. cout<<arbol->dato<<endl;
  8. mostrar(arbol->der,Y+2);
  9. }
  10. }
  11.  
  12. void gotoxy(int x, int y)
  13. {
  14. HANDLE hcon;
  15. hcon=GetStdHandle(STD_OUTPUT_HANDLE);
  16.  
  17. COORD pos;
  18. pos.X=x;
  19. pos.Y=y;
  20. SetConsoleCursorPosition(hcon,pos);
  21. }
Desde ya muchas gracias  ;-)
267  Programación / Programación C/C++ / colas dobles en: 15 Octubre 2018, 03:56 am
Hola, queria preguntarles que operaciones se de colas se modifican cuando usamos bicolas, tengo hecho esto pero no entiendo el comportamiento con arreglos con listas es mucho mas facil ayuda u.u  :(

Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. using namespace std;
  5.  
  6. const int MAX=6;
  7. typedef int contenedor[MAX];
  8. typedef struct tcola{
  9. contenedor datos;
  10. int final, frente;
  11. };
  12.  
  13. void init_queue(tcola &q);
  14. void push_queue(tcola &q, int nuevo, bool ultimo);
  15. bool full_queue(tcola q);
  16. bool empty_queue(tcola q);
  17. int pop_queue(tcola &q);
  18. int top_queue(tcola q);
  19. int bottom_queue(tcola q);
  20. int next(int indice);
  21. int prev(int indice);
  22.  
  23. int main()
  24. {
  25. int dato;
  26. tcola q;
  27. bool opcion;
  28. init_queue(q);
  29. while(full_queue(q)==false){
  30. cout<<"Ingrese dato: ";
  31. cin>>dato;
  32. cout<<"1. Agregar por final"<<endl;
  33. cout<<"0. Agregar por frente"<<endl;
  34. cin>>opcion;
  35. push_queue(q,dato,opcion);
  36. }
  37. q.frente=MAX-1;
  38. q.final=MAX-2;
  39. while(empty_queue(q)==false){
  40. cout<<pop_queue(q);
  41. }
  42. cout<<endl;
  43. system("pause");
  44. }
  45.  
  46. void init_queue(tcola &q)
  47. {
  48. q.final=MAX-1;
  49. q.frente=MAX-1;
  50. }
  51.  
  52. void push_queue(tcola &q, int nuevo, bool ultimo)
  53. {
  54. if(full_queue(q)==true)
  55. cout<<"COLA LLENA"<<endl;
  56. else{
  57. if(ultimo==true){
  58. q.final=next(q.final);
  59. q.datos[q.final]=nuevo;
  60. }
  61. else{
  62. q.frente=prev(q.frente);
  63. q.datos[q.frente]=nuevo;
  64. }
  65. }
  66. }
  67.  
  68. bool full_queue(tcola q)
  69. {
  70. return next(q.final)==q.frente;
  71. }
  72.  
  73. bool empty_queue(tcola q)
  74. {
  75. return q.frente==q.final;
  76. }
  77.  
  78. int pop_queue(tcola &q)
  79. {
  80. int aux;
  81. if(empty_queue(q)==true)
  82. aux=-1;
  83. else{
  84. q.frente=next(q.frente);
  85. aux=q.datos[q.frente];
  86. }
  87. return aux;
  88. }
  89.  
  90. int top_queue(tcola q)
  91. {
  92. int aux;
  93. if(empty_queue(q)==true)
  94. aux=-1;
  95. else{
  96. aux=q.datos[next(q.frente)];
  97. }
  98. return aux;
  99. }
  100.  
  101. int bottom_queue(tcola q)
  102. {
  103. int aux;
  104. if(empty_queue(q)==true)
  105. aux=-1;
  106. else{
  107. aux=q.datos[q.final];
  108. }
  109. return aux;
  110. }
  111.  
  112. int next(int indice)
  113. {
  114. if(indice==MAX-1)
  115. indice=0;
  116. else
  117. indice++;
  118. return indice;
  119. }
  120.  
  121. int prev(int indice)
  122. {
  123. if(indice==0){
  124. indice=MAX-1;
  125. }
  126. else{
  127. indice--;
  128. }
  129. return indice;
  130. }
  131.  
268  Programación / Programación C/C++ / ayuda para invertir un numero en: 14 Octubre 2018, 22:40 pm
Hola tengo que invertir un numero utilizando colas el problema es que cuando ingreso numeros con mas de 2 cigras me devuelve datos erroneos , si ingreso un 23 devuelve 32, si ingreso 321 me devuelve 1203 y asi, no se si mi algoritmo esta mal planteado o que, el "algoritmo" esta en el programa principal, desde ya gracias
Ya lo solucione  ;-)

Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. const int MAX=20;
  8. typedef int contenedor[MAX];
  9. typedef struct tcola{
  10. contenedor datos;
  11. int final, frente;
  12. };
  13.  
  14. void init_queue(tcola &q);
  15. void push_queue(tcola &q, int nuevo);
  16. bool full_queue(tcola q);
  17. bool empty_queue(tcola q);
  18. int pop_queue(tcola &q);
  19. int top_queue(tcola q);
  20. int bottom_queue(tcola q);
  21. int next(int indice);
  22.  
  23. int main()
  24. {
  25. int numero, inverso=0, i=-1;
  26. tcola q;
  27. init_queue(q);
  28. cout<<"Ingrese numero: ";
  29. cin>>numero;
  30. while(numero>0){
  31. push_queue(q,numero%10);
  32. numero/=10;
  33. i++;
  34. }
  35. while(empty_queue(q)==false){
  36. inverso+=pop_queue(q)*pow(10.0.i);
  37. i--;
  38. }
  39. cout<<"Inverso: "<<inverso<<endl;
  40. system("pause");
  41. }
  42.  
  43. void init_queue(tcola &q)
  44. {
  45. q.final=MAX-1;
  46. q.frente=MAX-1;
  47. }
  48.  
  49. void push_queue(tcola &q, int nuevo)
  50. {
  51. if(full_queue(q)==true)
  52. cout<<"COLA LLENA"<<endl;
  53. else{
  54. q.final=next(q.final);
  55. q.datos[q.final]=nuevo;
  56. }
  57. }
  58.  
  59. bool full_queue(tcola q)
  60. {
  61. return next(q.final)==q.frente;
  62. }
  63.  
  64. bool empty_queue(tcola q)
  65. {
  66. return q.frente==q.final;
  67. }
  68.  
  69. int pop_queue(tcola &q)
  70. {
  71. int aux;
  72. if(empty_queue(q)==true)
  73. aux=-1;
  74. else{
  75. q.frente=next(q.frente);
  76. aux=q.datos[q.frente];
  77. }
  78. return aux;
  79. }
  80.  
  81. int top_queue(tcola q)
  82. {
  83. int aux;
  84. if(empty_queue(q)==true)
  85. aux=-1;
  86. else{
  87. aux=q.datos[next(q.frente)];
  88. }
  89. return aux;
  90. }
  91.  
  92. int bottom_queue(tcola q)
  93. {
  94. int aux;
  95. if(empty_queue(q)==true)
  96. aux=-1;
  97. else{
  98. aux=q.datos[q.final];
  99. }
  100. return aux;
  101. }
  102.  
  103. int next(int indice)
  104. {
  105. if(indice==MAX-1)
  106. indice=0;
  107. else
  108. indice++;
  109. return indice;
  110. }
  111.  

269  Programación / Programación C/C++ / colas en: 14 Octubre 2018, 00:19 am
hola, miren tengo q representar una cola de datos mediante un arreglo, donde las primeras tres posiciones son para los 2 indices y un contador de elementos, este contador de elementos me sirve para saber si la cola esta llena o vacia, todo anda perfecto, pero cuando hago una llamada a top_que(cola); me modifica en algo mi metodo pop_queue(cola);
Supongamos no llamo en ningun momento a top_queue(cola) y pongo datos de entrada
1 2 3 4 5 6 7 8 9
Muestra por pantalla
Final cola: 9;
Cantidad elementos: 9;
1 2 3 4 5 6 7 8 9;//Mientras cola no vacia cout<<pop_queue(cola);

Y suponiendo que yo antes  de vaciar la cola hubiese llamado a top_queue(cola); me sale esto

Frente cola:1;
Final cola:9;
Cantidad de elementos: 9;
234567891// Y esto es lo que me esta volviendo loca  :-\

Aqui el codigo
Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. using namespace std;
  5.  
  6. const int MAX=12;
  7. typedef int tcola[MAX];
  8.  
  9. void init_queue(tcola &q);
  10. void push_queue(tcola &q, int nuevo);
  11. bool full_queue(tcola q);
  12. bool empty_queue(tcola q);
  13. int pop_queue(tcola &q);
  14. int top_queue(tcola q);
  15. int bottom_queue(tcola q);
  16. int elements(tcola q);
  17. int next(int indice);
  18.  
  19. int main()
  20. {
  21. int dato;
  22. tcola q;
  23. init_queue(q);
  24. while(full_queue(q)==false){
  25. cout<<"Ingrese dato: ";
  26. cin>>dato;
  27. push_queue(q,dato);
  28. }
  29. //cout<<top_queue(q)<<endl; //Sacar barras para el error
  30. cout<<bottom_queue(q)<<endl;
  31. cout<<elements(q)<<endl;
  32. while(empty_queue(q)==false){
  33. cout<<pop_queue(q);
  34. }
  35. cout<<endl;
  36. }
  37.  
  38. void init_queue(tcola &q)
  39. {
  40. q[0]=MAX-1;//Final de la cola
  41. q[1]=MAX-1;//Frente de la cola
  42. q[2]=0;//Contador de datos
  43. }
  44.  
  45. void push_queue(tcola &q, int nuevo)
  46. {
  47. if(full_queue(q)==true)
  48. cout<<"COLA LLENA"<<endl;
  49. else{
  50. q[0]=next(q[0]);
  51. q[q[0]]=nuevo;
  52. q[2]++;
  53. }
  54. }
  55.  
  56. bool full_queue(tcola q)
  57. {
  58. return q[2]==MAX-3;
  59. }
  60.  
  61. bool empty_queue(tcola q)
  62. {
  63. return q[2]==0;
  64. }
  65.  
  66. int pop_queue(tcola &q)
  67. {
  68. int aux;
  69. if(empty_queue(q)==true)
  70. aux=-1;
  71. else{
  72. q[1]=next(q[1]);
  73. aux=q[q[1]];
  74. q[2]--;
  75. }
  76. return aux;
  77. }
  78.  
  79. int top_queue(tcola q)
  80. {
  81. int aux;
  82. if(empty_queue(q)==true)
  83. aux=-1;
  84. else{
  85. q[1]=next(q[1]);//<----ERROR
  86. aux=q[q[1]];//<----ERROR (Reemplazar estas dos lineas por aux=q[next(q[1])];
  87. }
  88. return aux;
  89. }
  90.  
  91. int bottom_queue(tcola q)
  92. {
  93. int aux;
  94. if(empty_queue(q)==true)
  95. aux=-1;
  96. else{
  97. aux=q[q[0]];
  98. }
  99. return aux;
  100. }
  101.  
  102. int elements(tcola q)
  103. {
  104. return q[2];
  105. }
  106.  
  107. int next(int indice)
  108. {
  109. if(indice==MAX-1)
  110. indice=3;
  111. else
  112. indice++;
  113. return indice;
  114. }
  115.  

Ya encontre el error, estaba en el modulo de top_queue(q);  ;-)
270  Programación / Programación C/C++ / SFML en: 13 Octubre 2018, 07:42 am
Alguna buena guia para hacer un juego 2D, alguien que haya hecho uno?  si es cortito mejor  ;-)
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines