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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 [83] 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ... 161
821  Programación / Programación C/C++ / Re: Reemplazar cout [Juego Encontrar Triadas] en: 16 Mayo 2017, 19:40 pm
string no existen en C porqué es un tipo de dato propio de C++. Tendrás que cambiar toda referencia a string a cadenas de C, que son arrays de caracteres o punteros a memoria dinámica.
O puedes enredar un poco más y buscar alguna librería que proporcione cadenas.

Aunque lo más fácil es cambiar todos los strings por arrays de caracteres.
Pero con esto no se puede hacer cadena1 == cadena2, en su lugar deberás usar las funciones que proporciona string.h, como strcmp para comparar cadenas.
822  Programación / Programación C/C++ / Re: Reemplazar cout [Juego Encontrar Triadas] en: 16 Mayo 2017, 18:42 pm
Los códigos se encierran entre etiquetas GeSHi, ver barra de herramientas que tienes justo arriba, y seleccionando el lenguaje apropiado en el menú desplegable.

En referente a tu pregunta entiendo que tratas tablero como un array bidimensional pero solo es de 1 dimensión.

Código:
printf("%d  ", tablero[i][j]);
es totalmente erróneo.

Para solucionar esto tienes varias formas:
Pero la más sencilla es usar un sólo bucle y cada vez que el módulo (el resto de la división) entre i y 5 sea 0 imprimes un caracter de nueva línea.
Así:
Código
  1. int i = 0;
  2. while(i < 30) {
  3.    printf("%2i ", i);
  4.    ++i;
  5.    if(i%6==0)
  6.        printf("\n");
  7. }

Por supuesto hay formas más elaboradas, pero como estás empezando bastará esta.
   
823  Programación / Programación C/C++ / Re: Buscador (C) en: 16 Mayo 2017, 15:59 pm
Código:
Ah, ok, ok. Como cada línea tiene una representación de todos los elementos, ordenado según sus características, una forma sencilla sería:

[code = c]// Suponiendo que tu lista tendrá máximo 100 elementos.
#define ELEMENTOS 100

char nombre[ELEMENTOS][255];  // 255 es el tamaño máximo que se pueda dar al nombre + el caracter de fin de cadena, por tanto solo puedes tener como mucho 254 caracteres en el nombre.
char codigo[ELEMENTOS][255]; // Igual que nombres.
double energia[ELEMENTOS];
unsigned eficiencia[ELEMENTOS];
double empuje[ELEMENTOS];
int peso[ELEMENTOS]; // puedes usar un número negativo para representar N/A, por ejemplo.

Así tu elemento será interpretado en los arrays como su número índice, por ejemplo el primer elemento será
Código:
nombre[0]
codigo[0]
energia[0]
eficiencia[0]
...

El segundo elemento
Código:
nombre[1]
codigo[1]
energia[1]
...

Y para los arrays haces algo así:
Código:
Leer la línea del archivo
i = 0
Bucle mientras i < ELEMENTOS:
    token = dato de la linea
    nombre[i] = token
Fin de bucle

Leer la linea del archivo
i = 0
Bucle mientras i < ELEMENTOS
    token = dato de la linea
    codigo[i] = token
Fin de bucle
...
824  Programación / Programación C/C++ / Re: Buscador (C) en: 16 Mayo 2017, 12:53 pm
Pon un ejemplo de cómo sería el texto.
Usa el botón cita o código de las herramientas de formato que tienes arriba para poner el contenido
825  Programación / Programación C/C++ / Re: Gato en 3D en: 14 Mayo 2017, 20:07 pm
Jeje, es el 3 en Raya o el TaTeTi, Tic Tac Toe en inglés.
826  Programación / Programación C/C++ / Re: Reemplazar cout [Juego Encontrar Triadas] en: 14 Mayo 2017, 14:44 pm
Lo más complicado será transformar las clases en estructuras y funciones pues necesitas de jugar con archivos de cabecera y los tipos incompletos para emular la ocultación de datos. Pero tampoco es necesario en este ejercicio.
827  Programación / Programación C/C++ / Re: Programas para calcular fechas en: 12 Mayo 2017, 21:05 pm
En el primero programa pasas la estructura por valor. Todos los cambios que hagas dentro de la función no se reflejarán fuera de ella, por eso debes pasarla por referencia (un puntero de ella o su dirección) y cuidado con el cambio de acceso a los datos del puntero a la estructura.

Para el segundo programa observa lo siguiente:
Código
  1. if(fecha1.año < fecha2.año)
  2.        for(i=fecha1.año;i<fecha2.año;i++)
  3.        {
  4.            if ((i % 4 == 0) && ((i % 100 != 0) || (i % 400 == 0)))
  5.                num += i*366;
  6.            else
  7.                num += i*365;
  8.        }

Fíjate que num va a tener el número erróneo de días por la simple razón de:
Supongamos que el año es el 2000. Pues en la primera iteración del bucle será 2000*365, a este número, en la segunda iteración será 2000 * 365 + 2001 * 365 y así. La fórmula está mal.
828  Programación / Programación C/C++ / Re: Matriz en: 12 Mayo 2017, 17:00 pm
Yo decía algo más así:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. char cartas[] = {'#', '%', '@', '*', '!', '<', 'x', '+'};
  6. int total = sizeof(cartas);
  7.  
  8. int main() {
  9.    int inicio = 0;
  10.  
  11.    srand(time(NULL));
  12.  
  13.    for (int mitad=0; mitad<2; ++mitad) {
  14.        for (int i=0; i<2; ++i) {
  15.            int longitud = total/2;
  16.  
  17.            for (int j=0; j<4; ++j) {
  18.                int deja = longitud - 1 + inicio;;
  19.                int pilla;
  20.  
  21.                do {
  22.                    pilla = rand() % longitud + inicio;
  23.                } while(j < 3 && pilla == deja);
  24.  
  25.                printf(" %c", cartas[pilla]);
  26.  
  27.                char x = cartas[deja];
  28.                cartas[deja] = cartas[pilla];
  29.                cartas[pilla] = x;
  30.                --longitud;
  31.            }
  32.            puts("");
  33.        }
  34.        inicio = total/2;
  35.    }
  36. }

Como puedes ver me he basado en tu idea.

Éste es el resultado:
Código:
# * @ %
@ % * #
! < + x
x + ! <
La primera fila y la segunda usan un conjunto de símbolo.
La tercera y la cuarta usan otro.
829  Programación / Programación C/C++ / Re: Error en línea de código ''float'' de C++ en: 11 Mayo 2017, 23:01 pm
Usas la ñ en la variable años, sólo debes usar las letras del alfabeto inglés para nombrar variables y funciones.

Declaras dos veces la variable segundos, cada identificador solo puede existir una única vez.
830  Programación / Programación C/C++ / Re: Normalizar un Vector en: 10 Mayo 2017, 23:06 pm
Si no entiendo mal lo que quiere es que todos elementos estén en relación al primero cuándo éste representa la unidad.

Es decir, todos los elementos del array a razón del primero. O, dicho de otra forma, todos los elementos del array divididos por el primero.
Páginas: 1 ... 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 [83] 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines