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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 ... 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 [157] 158 159 160 161
1561  Programación / Programación C/C++ / Re: Incrementar puntero entero con ++ en vez de += en: 2 Enero 2016, 20:02 pm
Es por la precedencia de los operadores. En tu caso lo que hacías era apuntar a una zona de memoria a la que el S.O. te deniega el acceso, incrementabas la dirección del puntero.
Usa parentesis para hacer lo que quieres, o varia la posición del ++, según como deba trabajar tu código en una sentencia compleja:
Código
  1. (*algo)++
o
Código
  1. ++*algo
En una sentencia simple de incremento como la que buscas puedes usar la forma que quieras.
1562  Programación / Programación C/C++ / Re: Creando un tablero a partir de un archivo en: 2 Enero 2016, 17:33 pm
La lógica que he usado ha sido esta:
Leo la primera línea del archivo y la guardo en un array.
La recorro en busca  de dos números.
Al primero lo convierto de carácter a su valor y se lo doy a filas.
Hago lo mismo con las columnas.
Leo la segunda línea del archivo y la guardo en el array usado anteriormente.
Recorro el array en busca de números, a medida que los voy encontrando los convierto al valor que representan y los voy sumando.
Si la suma todos esos números es diferente a filas x columnas o hay 0 flias o hay 0 columnas, paro el programa e informo al usuario que el archivo tiene datos erróneos.
Si todo está bien creo otro array de números de tamaño filas x columnas.
Recorro de nuevo el array que contiene una copia de la segunda línea del archivo.
Por cada número que hay hago lo siguiente:
    En un bucle de tantos pasos como indica el número:
        Incluir en el segundo array un vacío o lleno, según si el valor de una variable (k) es 0 o 1.
        Aumentar el índice del segundo array.
    Fuera del buce anterior, pero aún dentro de lo que se hace por cada número complemento el valor de (k).
Una vez construido el array el resto del código es que te he mostrado.
1563  Programación / Programación C/C++ / Re: Creando un tablero a partir de un archivo en: 2 Enero 2016, 16:44 pm
Los recuadros son construidos según los números del archivo. Se puede hacer desde 1x1 hasta 9x9. Solo te he puesto el código de como dibujar la tabla. El trabajo de crearla y llenarla es anterior a todo esto.
1564  Programación / Programación C/C++ / Re: Como podría crear el siguiente programa en C ? en: 2 Enero 2016, 15:04 pm
Mira la librería SDL. Esta librería está pensada para hacer programas multimedia. El crear una imagen con texto encima con posición, tamaño, color que quieras, etc. Incluso con letras diseñadas por ti mismo.
Eso sí, se hace un uso extensivo de punteros por lo que espera un poco hasta llegar y comprender esa parte   ;)
1565  Programación / Programación C/C++ / Re: Creando un tablero a partir de un archivo en: 2 Enero 2016, 14:53 pm
Algo de código... Está hecho en C ya que de C++ sé casi nada  ;D

Variables:
car es char. Sirve para poner los marcadores de filas y columnas (a b c d...)
i y j son int. Me sirven para saber en que fila y columna estoy
k es un int. Me sirve para marcar si estoy en la última fila.
array es un array de caracteres. Tiene los asteriscos y espacios tal y como
    los distribuye el archivo.
lleno es una constante de caracter. Es el caracter usado para representar
    un cuadrado negro.

Código
  1. /* Imprimo los identificadores de columna */
  2.    car = 'a';
  3.    printf("   ");
  4.    for(i = 0; i < columnas; ++i)
  5.        putchar(car + i);
  6.    printf("\n  ");
  7.    /* Imprimo el borde superior */
  8.    for(i = 0; i < columnas + 2; ++i)
  9.        putchar(lleno);
  10.    /* Imprimo cada una de las filas de la tabla junto
  11.      * con los identificadores de fila donde sea necesario
  12.      * y los bordes horizontales de la tabla */
  13.    car = 'a';
  14.    printf("\n%c ", car++);
  15.    putchar(lleno);    
  16.    for(i = j = k = 0; i < filas * columnas; ++i) {
  17.        putchar(array[i]);
  18.        ++j;
  19.        if(j == columnas) {
  20.            j = 0;
  21.            /* Tengo en cuenta el numero de columna que estoy
  22.              * para cambiar a la siguiente linea */
  23.            printf("%c\n", lleno);
  24.            k++;
  25.            if(k != filas)
  26.                printf("%c %c", car++, lleno);
  27.        }
  28.    }
  29.    /* Imprimo el borde inferior de la tabla */
  30.    printf("  ");
  31.    for(i = 0; i < columnas + 2; ++i)
  32.        putchar(lleno);
  33.    puts("");
1566  Programación / Programación C/C++ / Re: Problema con cadena de caracteres y estructura (Novato) en: 2 Enero 2016, 00:42 am
Algunas cosillas:

El uso de gets te puede llevar a problemas si introducen un dato mas largo de lo que puedes alojar.

Para usaro getch() debes introducir la cabecera conio.h, que es una librería que solo usa el compilador de Borland, aunque hay librerías independientes que ofrecen compatibilidad, no está bien visto el usarla. Está tan mal vista o mas que goto.

fflush(stdin) es muy mal hábito. No tendrá el efecto deseado en muchos compiladores, por lo que debes encontrar otra forma de vaciar el buffer.



La función IntroNota() está mal diseñada. Pides la cantidad de alumnos con cant_alum, pero no haces nada con ella. Regresas un dato de tipo alumno, rellenado con las notas, eso sí, pero que no tiene nombre y con esto machacas al alumno que está en main(): ahora tendrá las notas, pero los nombres, apellidos y los nombres de las materias son sustituidos por basura.
Posibles soluciones: punteros y pasar el alumno por referencia, pero no has aprendido a usarlos aún.  Podrías hacer un array de alumnos global, pero entonces no podrías indicar en tiempo de ejecución cuántos alumnos tienes. Tu única solución, por ahora, es que el código para introducir las notas esté dentro de main() así el programa te funcionará.
1567  Foros Generales / Foro Libre / Re: Una duda muy offtopic sobre música cinemática... en: 1 Enero 2016, 21:38 pm
Te va a gustar la música de Two Steps From Hell. Todo es música épica. En youtube tienen mucho puesto.
1568  Programación / Programación C/C++ / Re: Ayuda programa en c para sacar palíndromos en: 1 Enero 2016, 20:59 pm
Vale, dos cosas que veo.

En tu sentencia de control del while de la función main te interesa que itere mientras se cumplan las dos condiciones: que el numero no sea palíndromo Y que el contador no llegue a 200. Así como lo tienes, aunque pases por encima de un palíndromo no se va a parar porque el contador no ha llegado a 200.

Por otra parte en tu función de búsqueda de palíndromo te has complicado bastante mucho y verás:
qué pasa si restas un palíndromo por su reverso? qué ocurre si restas un número que no lo es por su reverso?
1569  Programación / Programación C/C++ / Re: Creando un tablero a partir de un archivo en: 31 Diciembre 2015, 15:45 pm
Soy de C, no de C++, así qur no se si hay mejorrs soluciones que la que te propongo:
Cuando generes tu tabla de 4x4 juntala mediante una union a un array de 16 elementos. Llenar el array te será mucho más fácil ya que no tienes que moverte con dos índices.
Al final imprimirás la tabla con las dos dimensiones.



Realizado el código te puedo indicar que lo más fácil es rellenar un array unidimensional con los asteriscos y espacios. A la hora de representar los datos se van tomado uno a uno los caracteres del array y mediante contadores se tiene en cuenta en que fila y columna se encuentra uno para así poder poner la nomenclatura de las filas, espacios, bordes y nuevas lineas donde toca.
1570  Programación / Programación C/C++ / Re: Duda sobre listas enlazadas (C) en: 31 Diciembre 2015, 04:13 am
Tienes razón. Pon el código para ver cómo seria.
Páginas: 1 ... 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 [157] 158 159 160 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines