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 Mensajes
Páginas: [1] 2
1  Programación / Programación C/C++ / Arboles Binarios en C(Construcción Re cursiva) en: 30 Mayo 2018, 00:31 am
HOLA AMIGOS, HACE UNOS DIAS SUBI MI PROBLEMA DE ARBOLES BINARIOS, PERO CREO QUE NO PUDE EXPLICARME BIEN, ESPERABA QUE ESTA VEZ ALGUIEN EN ESTE BASTO MUNDO DEL INTERWEB, PUDIERA AYUDARME, PUES ESTE EJERCICIO YA ME TIRO TODA UNA SEMANA DE TRABAJO SIN PODER RESOLVERLO. ESTE ES UN ALGORITMO ESCRITO QUE EN TEORÍA DESCRIBE COMO SERA LA FUNCIÓN QUE HAGA LA CONSTRUCCIÓN(NO BÚSQUEDA, NI IMPRESIÓN...ETC), SINO CONSTRUCCIÓN DE UN ÁRBOL DE EXPRESIONES
https://ibb.co/fFOsvy


ESPERO ALGUIEN ME PUEDA AYUDAR


PDT, YA ESCRIBI CODIGO, PERO SE ME DETIENE, EL PROGRAMA O SI MODIIFCO NO ME IMPRIME BIEN EL ARBOL

2  Programación / Programación C/C++ / Re: Árbol de Expresiones en C en: 30 Mayo 2018, 00:23 am
Muchas gracias por la ayuda srWhiteSkull
3  Programación / Programación C/C++ / Re: Árbol de Expresiones en C en: 29 Mayo 2018, 18:28 pm
Hola NEBIRE, en verdad agradezco tu tiempo para ponerle atención a mis dudas, y lastima wue el código no se haya subid, en fin, te agradezco también el apoyo, las palabras y consejos para mejorar y aprender más, te comento que ya hee, estado estudiando por mi cuenta y creo que voy por buen camino.
4  Programación / Programación C/C++ / Árbol de Expresiones en C en: 28 Mayo 2018, 19:47 pm
HOLA A TODOS ESOS BUENOS PROGRAMERS, hoy tengo una super urgencia, estoy construyendo un arbol de expresiones: (a+b) * c, algo parecido a lo anterior, pero ya llegue a un punto de inflexion, pues estoy siguiendo unos pasos que encontre en un libro, pero sigo sin entender como contruir ese arbol, mientras ocupo una pila y vaya guardando los nodos actuales que es en donde ire poniendo los operadores, pero la parte recursiva no la entiendo bien..... ayuda porfa vor
 


Código
  1. void giveMeExpression(char * input)
  2. {
  3. printf(">>> ");
  4. fflush(stdin);
  5. fgets(input,50,stdin);
  6. }
  7.  
  8. int haveARigth(ArbolBinario a)
  9. {
  10. return a->der == NULL;
  11. }
  12.  
  13. int haveALeft(ArbolBinario a)
  14. {
  15. return a->izq == NULL;
  16. }
  17.  
  18. int isOperator(char input)
  19. {
  20. char operators [] = "+-*/^%";
  21. int i;
  22. for(i = 0 ; i< strlen(operators) ; i++)
  23. {
  24. if (operators[i] == input)
  25. return 1;
  26. }
  27. return 0;
  28. }
  29.  
  30. void assignASon(ArbolBinario boy, ArbolBinario father)
  31. {
  32. if ( haveALeft(father))///si el padre no tiene izq, se le asigna.
  33. {
  34. /* code */
  35. father->izq = boy;
  36. }
  37. else
  38. {
  39. if ( haveARigth(father))///si el padre no tiene der, se le asigna.
  40. {
  41. /* code */
  42. father->der = boy;
  43. }
  44. }
  45. }
  46.  
  47. ArbolBinario creatNodeCurrent(Pila *p, int first, ArbolBinario currentNode)
  48. {
  49. ArbolBinario a;
  50. a = creaNodo('\0');
  51. if (first != 0)
  52. assignASon(a,currentNode);
  53. push(p,a);
  54. return a;
  55. }
  56.  
  57. int itIsParentheses(char  *input, int pos)
  58. {
  59. if( input[pos] == '(' )
  60. return 1;
  61. else
  62. return 0;
  63. }
  64.  
  65. ArbolBinario createArbol(char * input, Pila *p, int pos, ArbolBinario raiz, int primerParentesis)
  66. {
  67. ArbolBinario currentNode  = NULL;
  68. if(pos > strlen(input) - 1)
  69. {
  70. printf("no entra y se sale\n");
  71. printf("\ncurrentNode en funcion es: %p\n",currentNode );
  72. return raiz;
  73. }
  74. else
  75. {
  76. if (  itIsParentheses(input,pos) == 1 && primerParentesis == 0) // si es 1, entonces no sera el primer parentesis
  77. {
  78. /* code */
  79. raiz = creaNodo('\0');
  80. currentNode = raiz;
  81. push(p,currentNode);
  82. pos++;
  83. primerParentesis = 1;
  84. //currentNode->elemento = input[pos];
  85. //printf("\nnuevo Nodo: %p, %p\n", currentNode, raiz);
  86. printf("Entro al if 1, pos  despues : %d y currentNode es: %p\n", pos,currentNode);
  87. imprimePila(*p);
  88. return  createArbol(input,p,pos, currentNode, primerParentesis);
  89. }
  90. else
  91. {
  92. if( itIsParentheses(input,pos) == 1 )//////////caso 2
  93. {
  94. currentNode = creatNodeCurrent(p, pos,raiz);
  95. pos++;
  96. primerParentesis = 1;
  97. printf("Entro al  2if, pos  despues : %d y currentNode es: %p\n", pos, currentNode);
  98. return  createArbol(input,p,pos, currentNode, primerParentesis);
  99. }
  100. else
  101. {
  102. if ( isOperating(input,pos) ==1)/////////CASO 3
  103. {
  104. currentNode = creatNodeCurrent(p, pos,raiz);
  105. currentNode->elemento = input[pos] ;
  106. pos++;
  107. primerParentesis = 1;
  108. printf("Entro al 3if, pos  despues : %d, con elemento: %c y currentNode: %p\n", pos, currentNode->elemento, currentNode);
  109. imprimePila(*p);
  110. return  createArbol(input,p,pos, currentNode, primerParentesis);
  111. }
  112. else
  113. {
  114. if ( isOperator(input[pos]) == 1 )/////////CASO 4
  115. {
  116. currentNode =  pop(p);
  117. raiz->elemento = input[pos];
  118. pos++;
  119. primerParentesis = 1;
  120. printf("Entro al 4if, pos  despues : %d, con elemento: %c y current node es: %p\n", pos, currentNode->elemento, currentNode);
  121. imprimePila(*p);
  122. return  createArbol(input,p,pos, currentNode, primerParentesis);
  123. }
  124. }
  125. }
  126. }
  127. }
  128. }//////////FIN FUNCION
  129.  
  130.  
5  Programación / Programación C/C++ / Re: Arboles Binarios en C en: 24 Mayo 2018, 01:28 am
Muchas gracias por contestar MAFUS, si eso había pensado con lo de imprimir >>>>>, pero ya lo logre :) :)

Código
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. #include<windows.h>
  5. void ejecuta()
  6. {
  7. char *entrada;
  8. entrada = (char *)malloc(10);
  9. do
  10. {
  11. printf(">>>  ");
  12. scanf("%s", entrada);
  13.  
  14.  
  15.  
  16.  
  17. }while( strcmp(entrada, "exit") != 0 );
  18. }
  19.  
  20. void info()
  21. {
  22. printf("\t\t\t\tEl programa se detendra hasta que escribas el comando:  'exit'\n");Sleep(5500);system("cls");
  23. }
  24.  
  25. int main(int argc, char const *argv[])
  26. {
  27. /* code */
  28. info();
  29. ejecuta();
  30. return 0;
  31. }
  32.  



AHORA ME FALTA LO DIFICIL XD, deja reviso lo que me enviaste , muchas gracias MAFUS ;)
6  Programación / Programación C/C++ / Arboles Binarios en C en: 24 Mayo 2018, 00:37 am
Hola a todos, esta vez, tengo un problema muy grande, que quiero resolver.
Quiero hacer una especie de calculadora binaria, es decir,
1.-el usuario tendra la pantalla de ejecucion, y aparecera algo asi:


>>>

(Como en python), y el objetivo es que pueda ingresar cosas asi

>>> a = 5
>>> b= 1
>>> a + b
>>> 6
>>> c = 0
>>> (a+b) * c
>>> 0

2.-Pero que mi problema es como implementar un árbol binario, como hacer que re aparezcan estas cosas :">>>", cada vez que el usuario quiera ingresar otros valores.

Por el momento no tengo nada, me gustaría tener su opinión y muchas ideas o propuestas concretas, se los agradecería :)
7  Programación / Programación C/C++ / Re: QR en C tipo ASCII en: 10 Diciembre 2017, 07:18 am
MAFUS, muchisimas gracias, neta en verdad. no puedo creer, que algo tan basico, como el manejo de bits, no se enseñe en las escuelas, pero peor aun, nosotros alumnos, como yo, no busquemos estas herramientas, y terrible que , desvaloremos esto.
Neta muchas gracias, todavía no termino mi problema, pero creo que lo más dificil lo hiciste tu. Pero lo mejor que hiciste por mi, es darme conocimiento distinto, una leccion de que me falta mucho por aprender, y sobre todo; la idea más sencilla, resuelve los problemas más complejos. WOW, te MAMASTE, GRACIAS :)
 ESPERO SEGUIR APRENDIENDO DE TI, Y DE LAS DEMAS PERSONAS

PDT: ME LLEVO TODO EL DÍA ENTENDERLE  :o
8  Programación / Programación C/C++ / Re: Matrices en C con bits en: 9 Diciembre 2017, 07:53 am
HOLA moncker94, te agradezco por la atención, y tu idea, me ayudo a pre visualizar, como dijiste el analices en pseudocódigo y así resolver el problema, muchas gracias.. ;)
9  Programación / Programación C/C++ / LLenado De Matriz QR EN C en: 9 Diciembre 2017, 07:49 am
Hola para todos  :) :) :), hoy tengo muchas dudas y acepto respuestas,propuestas y sugerencias con mucho animo.
mi problema es el sig.
tengo que llenar ciertas partes de una matriz de 21x21 con la información en binario de los datos que ingrese el usuario por pantalla.
mi problema es que no se como hacer lo que en la sig. foto explico mejor:
http://es.zimagez.com/zimage/img201712090001.php

Ahora, en mi programa en c, ya hice la decodifican de los caracteres a decimal, y a binario; es decir, que ya tengo un array por cada carácter con unos y ceros, pero todavía, no se como pasar esa información, a la matriz, que ademas tengo que llenar en un un sentido, como tipo espiral serpiente, mas o menos de esta manera:
http://es.zimagez.com/zimage/qrcd.php

Estoy muy atorado, atareado, molesto,cansado y estezado, por favor ojala alguien me escuche, es un proyecto muy importante, de verdad les agradecería. saludos y help me!!, help me!!! :-\ :-\ :-(

MOD: No escribir todo en mayúsculas.
10  Programación / Programación C/C++ / Re: QR en C tipo ASCII en: 8 Diciembre 2017, 20:01 pm
TIENES MUCHA RAZÓN. ESTO ES LO QUE LLEVO, (OSEA NADA :) ).
LO QUE HACE EL CÓDIGO DE ABAJO ES ESTO:
Y LO QUE QUIERO ES QUE EN LA PARTE DONDE HAY UNOS(1), TENGO QUE DIVIDIR EN CASILLAS DE 4*2,ES DECIR 8, DE TAL FORMA QUE META NUMEROS BINARIOS, PERO DE FORMA INDIVIDUAL.

 POR EJEMPLO, EN LA SIG. IMAGEN:
 LAS ÁREAS EN ROJO ES UN EJEMPLO DE COMO DEBO DE DIVIDIR  ESAS MINI-MATRICES, Y EN CADA UNA METER ESOS NÚMEROS BINARIOS, EL PROBLEMA ES
QUE PARA LLENAR ESA ÁREA, TENGO QUE HACERLO DE ESTA FORMA:


 
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines