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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17
31  Programación / Programación C/C++ / Re: REGRESE CON PROBLEMAS :) - DARLE VALORES A UN ARREGLO en: 12 Noviembre 2012, 03:22 am
La unica forma que se me ocurre de hacerlo ahora
es esta:

Código
  1. for(int i=0; i<15; i++)
  2. {
  3.   scanf("%d", &calif);
  4.   califa[i] = calif;
  5. }
Puede que te sirva


¿Por qué no lo guardas en califa directamente?

Código
  1. for(int i=0; i<15; i++)
  2. {
  3.   scanf("%d", &califa[i]);
  4. }
32  Programación / Programación C/C++ / Re: Continuar estudiando C en: 8 Noviembre 2012, 23:37 pm
Si has estudiado un poco así a lo loco, te recomiendo que practiques un poco más algoritmos y que aprendas estructuras de datos básicas como las pilas, las colas, las listas y los árboles binarios (diferentes implementaciones). Eso te va a dar una gran visión respecto a la programación y a cómo pensar.

Después de eso, yo te recomendaría crear una shell en C. Ya sé que es en modo consola, pero vas practicando los conceptos vistos. Por ejemplo, manejar una lista de procesos en segundo plano de la shell.

Luego ya te podrías ir al apartado gráfico ( o no ) y buscar librerías interesantes sobre gráficos... etc etc. Y con los conocimientos que adquieras ya crear programillas interesantes.
33  Programación / Programación C/C++ / Re: problema con busqueda de silabas ( letra mayuscula) en: 8 Noviembre 2012, 16:50 pm
@rir3760, ya, ya xD
34  Programación / Programación C/C++ / Re: problema con busqueda de silabas ( letra mayuscula) en: 8 Noviembre 2012, 16:31 pm
The stricmp function is available for C++ programs. It is available for C only when the program defines the __cplusplus__strings__ macro.

:\
35  Programación / Programación C/C++ / Re: problema vectores en c en: 8 Noviembre 2012, 16:25 pm
@do-while el problema está en el tipo del vector. La expresión está bien que se asigna está bien.

(rand()%100+1)/10 = [1..100] / 10

Números enteros entre 1 y 100 divididos entre 10. Evidentemente solo los múltiplos de 10 darán como resultado un entero.

36  Programación / Programación C/C++ / Re: ayuda para entender código en c++ en: 8 Noviembre 2012, 15:26 pm
@migcw:

La terminación de las instrucciones con doble piunto y coma es una sintaxis incorrecta.

Y en lo segundo el char '\0' representa la terminación de un string o cadena de caracteres en memoria. Porque si guardas un string en memoria y luego lo quieres mostrar, en algún sitio tiene que terminar.
37  Programación / Programación C/C++ / Re: Error! en: 8 Noviembre 2012, 01:21 am
Debo decir que la inserción de un elemento de la lista debería devolver un tipo booleano (int), no un puntero a un nodo.

En pseudocódigo sería (depende del tipo de lista y la inserción):

Código:
función insertar(lista, elemento, [posición]) -> lista, boolean

[posición], entre corchetes porque es opcional.

Siendo lista el puntero que apunta al primer nodo de la lista (en una lista simplemente enlazada)

Siendo elemento el elemento albergado en cada nodo de la lista

La función devuelve la lista modificada (si fue posible) y un valor booleano(int) para saber si se pudo realizar la inserción

Nota*: No podemos insertar un nuevo elemento cuando no hay memoria disponible.

Código:
Si ( punteroANuevoNodo = NULO) entonces Error de memoria - No se puede insertar
38  Programación / Programación C/C++ / Re: Error! en: 7 Noviembre 2012, 23:02 pm
_nodo *apuntador2 s_copy(_nodo *apuntador) {...}

Fíjate que tratas de devolver el tipo "_nodo * apuntador2" y eso no es ningún tipo. El tipo es _nodo *

De todas formas yo crearía el tipo tPosL (_nodo *) y el tipo tLista (tPosL) para que se lea mucho más claro.

Aquí te dejo el código corregidos los errores de sintaxis pero da segmentation fault, así que revisa la memoria:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct registro
  5. {
  6.    int valor;
  7.    struct registro *sig;
  8. };
  9.  
  10. typedef struct registro _nodo;
  11.  
  12. _nodo *crearlista(_nodo *apuntador)
  13. {
  14.    return (apuntador=NULL);
  15. }
  16.  
  17. _nodo *insertarEnLista(int numero, _nodo *apuntador )
  18. {
  19.    _nodo *registroNuevo, *apuntadorAuxiliar;
  20.  
  21.    registroNuevo = (_nodo*)/*casteo*/ malloc(sizeof(_nodo));
  22.  
  23.    if(registroNuevo!=NULL)
  24.    {/*lleno el nuevo nodo suelto*/
  25.        registroNuevo->valor=numero;
  26.        registroNuevo->sig=NULL;
  27.  
  28.        if(apuntador==NULL)
  29.            apuntador=registroNuevo;
  30.        else
  31.        {
  32.            apuntadorAuxiliar = apuntador;
  33.  
  34.            while(apuntadorAuxiliar->sig != NULL)
  35.                apuntadorAuxiliar = apuntadorAuxiliar->sig;
  36.  
  37.            apuntadorAuxiliar->sig = registroNuevo;
  38.        }
  39.    }
  40.  
  41.    return apuntador;
  42. }
  43.  
  44. void imprimirLista(_nodo *apuntador)
  45. {
  46.    _nodo *apuntadorAuxiliar;
  47.  
  48.    apuntadorAuxiliar=apuntador;
  49.  
  50.    printf("Contenido de la lista: inicioLista->");
  51.  
  52.    while(apuntadorAuxiliar != NULL)
  53.    {
  54.        printf("%d -> ", apuntadorAuxiliar->valor);
  55.        apuntadorAuxiliar = apuntadorAuxiliar->sig;
  56.    }
  57.    printf("NULL\n");
  58.  
  59.    return;
  60. }
  61.  
  62. _nodo * s_copy(_nodo *apuntador)
  63. {
  64.    _nodo *registroAuxiliar, *apuntador2 , *apuntadorAuxiliar , *apuntadorAuxiliar2;
  65.    apuntador2=crearlista(apuntador2);
  66.  
  67.  
  68.      if(apuntador==NULL) {
  69.            printf("la lista que copio estaba vacia");
  70.            apuntador2=apuntador;
  71.      }
  72.  
  73.      else
  74.        {
  75.            apuntadorAuxiliar = apuntador;
  76.            apuntadorAuxiliar2 = apuntador2;
  77.  
  78.            while(apuntadorAuxiliar->sig != NULL)
  79.                {
  80.                    *apuntadorAuxiliar2=*apuntadorAuxiliar;
  81.  
  82.                    apuntadorAuxiliar2=apuntadorAuxiliar2->sig;
  83.                    apuntadorAuxiliar = apuntadorAuxiliar->sig;
  84.                }
  85.        }
  86.  
  87.        return apuntador2;
  88. }
  89.  
  90.  
  91. int main()
  92. {
  93.    _nodo *inicioLista;
  94.    _nodo *inicioLista2;
  95.  
  96.    inicioLista=crearlista(inicioLista);
  97.    inicioLista2=crearlista(inicioLista2);
  98.  
  99.  
  100.    inicioLista = insertarEnLista(5, inicioLista);
  101.    inicioLista = insertarEnLista(6, inicioLista);
  102.    inicioLista = insertarEnLista(7, inicioLista);
  103.    inicioLista = insertarEnLista(8, inicioLista);
  104.    inicioLista = insertarEnLista(9, inicioLista);
  105.  
  106.    inicioLista2 = s_copy(inicioLista);
  107.  
  108.    imprimirLista(inicioLista2);
  109.  
  110.  
  111.  
  112.    return EXIT_SUCCESS;
  113. }
  114.  
39  Programación / Programación C/C++ / Re: como comparar en un If el valor devuelto por una funcion??? en: 7 Noviembre 2012, 22:50 pm
El tipo de dato que devuelve una función es el tipo de dato que representa al llamarla.
40  Programación / Programación C/C++ / Re: problema con busqueda de silabas ( letra mayuscula) en: 7 Noviembre 2012, 22:40 pm
No he mirado el código ni nada. Pero por lo que dices, seguro que hay alguna función en string.h que sirva para pasar una cadena de caracteres a minúsculas: estilo lowercase o a mayúsculas como uppercase.

Existe la función:

Código
  1. short stricmp (const unsigned char *s1, const unsigned char *s1);

Que es insensible a may y minus.
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines