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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6
11  Programación / Programación C/C++ / Re: warnings en: 28 Diciembre 2012, 16:37 pm
Eso es porque los nodos los estas ingresando al inicio de la lista por ejemplo si ingresas el 1 y despues el 2, en este caso el 2 quedara a la izquierda del 1 es decir 2,1 y tu puntero cabeza apunta al segundo nodo recien ingresado, en este caso el 2, por lo tanto cuando imprimes, imprimes de izquierda a derecha ose 2,1.
si quieres que los nodos sea impresos segun el orden en que fueron ingresados tendras que modificar la funcion insertar_cabeza.
12  Programación / Programación C/C++ / Re: No reconoce las variables en funciones en: 23 Diciembre 2012, 21:45 pm
Si sube el codigo porfavor, porque asi no es mucho lo que podemos hacer  :-\
13  Programación / Programación C/C++ / Re: warnings en: 22 Diciembre 2012, 02:24 am
Hola pues te explico para eliminar un nodo que este en una posicion distinta del inicio o final necesitas usar dos punteros para poder hacer los enlaces en este caso yo solo modifique la funsion eliminar_elemento tu puedes revisar y ver cuales fueron los cambios cordiales saludos  ;D
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. typedef struct nodo{
  4.    int dato;
  5.    struct nodo *sig;
  6. }NODO;
  7. NODO* crear_nodo(int x);
  8. void insertar_cabeza(NODO **cabeza,int x);
  9. void eliminar_elemento(NODO **cabeza);
  10. int main(void){
  11.    int i,num,x;
  12.    NODO *cabeza,*ptr;
  13.    cabeza = NULL;
  14.    printf("Cuantos elementos quieres?\n");
  15.    scanf("%d",&num);
  16.    printf("Lista Simplemente Ligada!\n\n");
  17.    for(i=0;i<num;i++){
  18.        printf("Dame el elemento %d\n",i+1);
  19.        scanf("%d",&x);
  20.        insertar_cabeza(&cabeza,x);
  21.        system("cls");
  22.    }
  23.    for(ptr=cabeza;ptr!=NULL;ptr=ptr->sig)
  24.        printf("%d\t",ptr->dato);
  25.    eliminar_elemento(&cabeza);
  26.    for(ptr=cabeza;ptr!=NULL;ptr=ptr->sig)
  27.        printf("%d\t",ptr->dato);
  28.    return 0;
  29. }
  30. NODO* crear_nodo(int x){
  31.    NODO *p;
  32.    p = (NODO*)malloc(sizeof(NODO));
  33.    p->dato = x;
  34.    p->sig = NULL;
  35.    return p;
  36. }
  37. void insertar_cabeza(NODO **cabeza,int x){
  38.    NODO *nuevo;
  39.    nuevo = crear_nodo(x);
  40.    nuevo->sig = *cabeza;
  41.    *cabeza = nuevo;
  42. }
  43. void eliminar_elemento(NODO **cabeza){
  44. int n;
  45. NODO *aux1=*cabeza,*aux2=aux1;
  46.    printf("Dame el elemento a eliminar\n");
  47.    scanf("%d",&n);
  48. while(aux2->dato!=n){
  49. aux1=aux2;
  50. aux2=aux2->sig;
  51. }
  52. aux1->sig=aux2->sig;
  53.    free(aux2);
  54. }
  55.  
14  Programación / Programación C/C++ / Re: Duda sobre utilización de variables en: 20 Diciembre 2012, 18:12 pm
ajajaja no problem todo ok  ;D
15  Programación / Programación C/C++ / Re: Duda sobre utilización de variables en: 20 Diciembre 2012, 17:53 pm
No es posible todo esta comprobado  ;) talvez lo dices por esto for(i=0;i<5;i++) pues el 5<5 eso es falso por lo tanto no tomara el valor 5.
16  Programación / Programación C/C++ / Re: Duda sobre utilización de variables en: 20 Diciembre 2012, 17:43 pm
Coma ya te han comentado en c se deben declarar todas las variables antes de utilizarlas por lo tanto si queieres guardar 5 valores por separado debes de declarar 5 variables, por suerte en c existen los arrays o vectores que simplifican este tema y para acceder a un valor solo debes de conocer su posicion, saludos y asi es como queda el codigo  :)
Código
  1. #include<stdio.h>
  2. int main(void){
  3. int i,vector[5],mayor,menor;
  4. float promedio=0;
  5. for(i=0;i<5;i++){//llena el vector
  6. printf("ingrese valor\n");
  7. scanf("%i",&vector[i]);
  8. }
  9. for(i=0;i<5;i++)//imprime el vector
  10. printf("[%i]",vector[i]);
  11. puts("\n");
  12. mayor=vector[0];
  13. menor=vector[0];
  14. for(i=0;i<5;i++){
  15. promedio+=vector[i];
  16. if(vector[i]>mayor)//busca el elemento mayor
  17. mayor=vector[i];
  18. if(vector[i]<menor)//busca el elemento menor
  19. menor=vector[i];
  20. }
  21. printf("el mayor es %i\n",mayor);
  22. printf("el menor es %i\n",menor);
  23. printf("el promedio es %.2f\n",promedio/5);
  24.        getchar();
  25. return(0);
  26. }
  27.  
17  Programación / Programación C/C++ / Re: ayuda en c vectores en: 18 Diciembre 2012, 18:55 pm
aaaaa ok perfecto asi queda claro todo deviste poner esto desde un principio ajaja
18  Programación / Programación C/C++ / Re: ayuda en c vectores en: 18 Diciembre 2012, 16:43 pm
bien asi quedo no se si es lo que necesitas, y otra cosa si estas aprendiendo c te recomiendo que partas con una buena base, porque hacer un programa sin declarar la funcion main() es un descuido muy grande saludos.
Código
  1. #include<stdio.h>// no tenias declarada esta libreria
  2. #define dim 10 //esto no lleva ;
  3. int main(void){//no tenias la funcion main()
  4. int v[dim]={1,2,2,2,5,4,4,8,9,10};// fataba ; y ademas el vector no tenia elementos
  5. int t,c=0,valor,k=0;
  6. printf("introduce un valor:\n");
  7. scanf("%d",&valor); // valor no estaba declarado
  8. for(t=0;t<dim;t++){
  9. if(v[t]==valor)
  10. c++;
  11. if(v[t]==valor*2)
  12. k++;
  13. }
  14. printf("el valor aparece %i ves(es)\n",c);
  15. printf("el valor por dos aparece %i ves(es)\n",k);
  16. return(0);
  17. }
  18.  
19  Programación / Programación C/C++ / Re: problema en c en: 18 Diciembre 2012, 00:45 am
Disculpa a que te refieres con imprimir de arriba a abajo? algo asi o no.

*  *  *  *
*  *  *  *
*  *  *  *
*      *  *
*      *  *
*          *
*          *
            *
            *
            *
20  Programación / Programación C/C++ / Re: tipos de enteros en C en: 16 Diciembre 2012, 21:36 pm
La memoria es asignada segun el complilador por ejemplo para int algunos reservan 2 bytes y otros reservan 4 bytes, lamentablemente no hay mucho que hacer a lo que tu deseas
Páginas: 1 [2] 3 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines