Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - gremlin

#1
Programación C/C++ / Re: MATRICES EN C
29 Octubre 2019, 20:04 PM
Cita de: NEBIRE en 29 Octubre 2019, 10:44 AM
Con el bucle interno, dibujas una línea del cuadrado. Un estado detrás del otro...
...y tras acabar dicho bucle, debes saltar a la siguiente línea. Para que la siguiente vez dibuje en otra línea.

Como el bucle interno 'controlas' la horizontalidad, con el externo 'controlas' la verticalidad, ese salto de línea debe estar pués dentro del bucle externo, pero fuera del interno (antes ó después... ya según interese).

Puedes considerar "-" como casilla blanca y "x" como casilla ocupada. Al principio podría estar el tablero vacío, o bien con determinadas casillas ya ocupadas (caso por ejemplo del ajedrez).

Si necesitas más estados para los valores que solo (vacia, ocupada), usa letras, cada letra representaría un estado distinto y en tal caso, por claridad usar el espacio para indicar el estado vacío.


Ahh, claro. Muchisimas gracias por tu ayuda!!
#2
Programación C/C++ / MATRICES EN C
29 Octubre 2019, 03:16 AM
Hola nuevamente, estuve intentando una matriz que pueda mantenerse con un formato cuadrado y no lo estaria logrando, la matriz seria el campo de un juego y lo ideal seria que se imprima la matriz como si cada posicion fuera un casillero del juego.

No encontre el codigo para imprimir un bloquecito de color negro o blanco para y estuve usando " - " el problema es que se me imprimen en linea y no como una matriz cuadrada.
Si alguien sabe ayudarme se lo agradeceria mucho!

int main(){
    char matriz[5][5];
    int i;
    int j;

    for(i = 0; i<5; i++){
      for(j = 0; j<5; j++){
        matriz[i][j]= '-';
        printf("%c",matriz[i][j]);
        }
    }
    return 0;
}


#3
Programación C/C++ / Re: Crear biblioteca en C
28 Octubre 2019, 16:40 PM
Cita de: ThunderCls en 28 Octubre 2019, 16:21 PM
Te repito, ya que no das detalles de tu entorno de desarrollo, ni compilador, ni SO. Si no tienes tu header file en la misma carpeta que el fichero .c en el que la esta usando, necesitas poner la ruta completa de tu biblioteca.h en el include o incluirla en los paths de tu entorno de desarrollo. Por otra parte evitas todo esto copiando el header file junto con su fichero .c  a la misma carpeta de tu .c principal. Al final deberias tener algo como:

MI_CARPETA
|_main.c
|_biblioteca.c
|_biblioteca.h

Luego para compilar con GCC usarias

Código (bash) [Seleccionar]
gcc -o main.out main.c biblioteca.c

Supongo que te habra quedado claro
Saludos

Siii, mil gracias!
#4
Programación C/C++ / Re: Crear biblioteca en C
28 Octubre 2019, 16:04 PM
Cita de: ThunderCls en 28 Octubre 2019, 13:55 PM
Verifica que en tu include estas poniendo la ruta completa de tu header file, por ejemplo suponiendo que estes usando windows:
#include "C:\\MICARPETA\\biblioteca.h"

De otra forma si usas solo
#include "biblioteca.h"

Necesitas tener el fichero .h en la misma carpeta que tu main.c o del fichero donde lo estas incluyendo

O sea, en la misma carpeta donde está el programa que usa mi biblioteca creado debo tener los archivos de la  biblioteca? y cuando compilo deberia usar el nombre de la carpeta?
#5
Programación C/C++ / Crear biblioteca en C
28 Octubre 2019, 00:50 AM
Buenas, hice un programa ".c" con sus funciones, y luego cree un archivo ".h" donde puse el nombre de todas las funciones y quiero saber si tengo algun error

Puse

#ifndef __BIBLIOTECA_H__
#define __BIBLIOTECA_H__

#include <stdio.h>  (esto porque en las funciones del archivo ".c" uso esta biblioteca)

constantes

int funcion(variables);

#endif /*__PERFIL_H__ */


Pero sin embargo cuando en otro programa pongo #include "biblioteca.h" al compilarlo me pone:
fatal error: biblioteca.h: No such file or directory
#include "biblioteca.h"

Y no entiendo en donde estaria mi error.
Tenia entendido que esa era la manera de crear una biblioteca, qué me faltaria hacer o qué está mal?

Gracias!!!

#6
Buenas tardes!

Necesito hacer una matriz la cual permita al usuario cargar los valores en cada posición.
La matriz es de 10x10


#define MAX_TAMANIO 10


void tablero(int matriz[MAX_TAMANIO][MAX_TAMANIO]) {
    int un_numero;
    un_numero=0;
   
   
for (int i = 0; i <MAX_TAMANIO; i++){
for (int j = 0; j <MAX_TAMANIO; j++){    
tablero[i][j]= un_numero;


}

}
tablero[0][0]= un_numero;
tablero[0][1]= un_numero;
}
   


Creí que haciendo esto le permitiría al usuario cargar el numero que quiera en cada posicion, pero está mal. Y no entiendo qué debería hacer o si me falta una condición.

PD: perdón si mis consultas son tontas, soy nueva en esto y me cuesta encontrar los errores.

Gracias!!


#7
Cita de: YreX-DwX en 15 Octubre 2019, 23:46 PM
No sé si te he entendido bien. Lo que yo entiendo es que tienes dos vectores por ejemplo:

v1 = {0,2,4,6,8}
v2 = {1,3,5,7,9}

Y por ejemplo te piden buscar el correspondiente en v2 al 4 en v1. El 4 en v1 está en la posición 2 (te recuerdo que los vectores empiezan a contar en la posición 0) entonces el correspondiente sería el elemento 2 de v2, que sería el 5.
Para ello tendrás una variable para el elemento que estás buscando (el 4 en este ejemplo) y un contador que determine su posición. Entonces vas recorriendo el primer vector y vas comparando cada elemento con el que buscas y vas incrementando el contador hasta encontrarlo. Una vez encontrado, recoges el valor de v2 que está en la posición que indica el contador.


v1 : array de enteros
v2 : array de enteros
INICIO
    PEDIR elementoBuscado // 4 en este caso
    resultado := -1 // aqui estara el resultado si lo encontramos. Si no lo encontramos se quedara con el -1
    i := 0
    MIENTRAS elementoBuscado != v1[i] && i < v1.longitud HACER // la i se va incrementando hasta que v1[i] coincida con 4 o hasta que se acabe v1
        i := i + 1
    FIN MIENTRAS
    // aqui llegamos cuando encontramos el elemento que buscamos, 4 en este caso, o cuando llegamos al final de v1
    SI elementoBuscado == v1[i] HACER // si esto se cumple sera que hemos encontrado el elemento. Si no se cumple es que el elemento buscado no existe y entonces el resultado sera un -1 o el valor que tu elijas para saber que el elemento no se ha encontrado
        resultado = v2[i] // i es el contador que nos dice la posicion del elemento. En este caso i valdria 2 y entonces resultado valdria 5
    FIN SI
FIN

Esto que te he puesto sería un algoritmo (los pasos) para resolver el ejercicio. No está en C por lo que si lo copias tal cual no te va a funcionar. Tienes que leer el algoritmo e intentar entenderlo. Cuando ya lo tengas tienes que hacerlo en C a tu manera.
Si tienes problemas para entenderlo o para escribirlo en lenguaje C puedes exponer los problemas o dudas que tengas y si tienes algo de código hecho puedes ponerlo entre etiquetas de Código GeSHi para que se vea así:

#include <stdio.h>

int main(){

}




Genial, me entendiste bien! Muchas gracias, me re sirvió!   :D
#9
Hola, buenas tardes!!
Soy muy nueva en programación, estoy aprendiendo a programar en C, y me estan enseñando vectores.
Tengo un ejercicio con dos vectores en el que la posicion de un elemento en uno de los vectores va a ocupar la misma posicion en el otro. Es decir, si X dato está en el vector1 en la posición 1 entonces el dato que busco en el vector2 va estar en la misma posición (en 1).

Mi consulta es: como hago para que, segun el dato que se ingrese, poder encontrar la posición que ocupa un dato en un vector?

No sé si estoy siendo clara con mi consulta.. Desde ya muchas gracias!
(y perdón si la pregunta es muy  tonta)