• Lunes 17 de Junio de 2024, 00:38

Autor Tema:  Tamaño De Una Matriz  (Leído 3725 veces)

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Tamaño De Una Matriz
« en: Miércoles 24 de Diciembre de 2003, 03:04 »
0
Hola a todos,


a continuacion os planteo mi problema:

el archivo adjunto es parte de una libreria de una matriz. esta matriz tiene q estar entre un valor maximo y otro minimo, ademas el tamaño de la matriz se debe declarar en el momento de la ejecucion del programa. el tamaño de la matriz se pedira al usuario por pantalla e introducira un valor por el teclado, cuando este valor entre el maximo y el minimo sera el tamaño de la matriz.

en la libreria de la matriz la definido como:

typedef Casilla Tablero[Max][Max]; //Max es una constante definida en otra
// libreria y es el valor maximo de la matriz


posteriormente pruebo el tipo en un main() de prueba. ahi intento asignarle un nuevo tamaño de la matriz, para ello utilizo un puntero que apunta a la matriz;

void main(){

     const int n = /* aqui va la funcion que pide el tamaño */;
     
     Tablero = new Casilla [n][n];

     ...
     ...
     ...

}


BorlandC 3.11 da el siguiente error:
Improper use of typedef 'Tablero' (en la linea de Tablero)
Constant expression required (en la linea de Tablero)
 warning: 'n' is assigned a value that is never used

Espero vuestros comentarios, un saludo y gracias de antemano.

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #1 en: Miércoles 24 de Diciembre de 2003, 12:47 »
0
olvidaba el Tablero.h ... ahi va
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

dreadlock

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #2 en: Miércoles 24 de Diciembre de 2003, 17:25 »
0
Pues, aver si este te sirve es lo que entendi
Código: Text
  1.  
  2. #include<dos.h>
  3. #include<stdio.h>
  4. #include<conio.h>
  5. #define tam 10//definimos maximo de 10
  6. int matriz[tam];//se define una matriz de tam elementos
  7. int pedir(){
  8. int n;
  9. do{
  10. printf("\nDe que tamaño deseasm la matriz [5-10]: ");
  11. scanf("%d",&n);//se guarda
  12. if((n>10)||(n<5))
  13. printf("\nRango Incorrecto");
  14. }while((n>10)||(n<5))//mientras no este en el rango
  15. //si el rango es aceptado
  16. return (n);//re regresa n
  17. }
  18. void main(){
  19. int a,i;
  20. a=pedir();
  21. for(i=1,i<=a;i++){//se procede a llenar
  22. printf("\nDame el elemento %d : ",i);
  23. scanf("%d",&matriz[i]);}
  24.  
  25. for(i=1,i<=a;i++){//muestra el contenido
  26. printf("\nElemento %d : ",matriz[i]);}
  27.  
  28. getche();
  29. }
  30.  
  31.  
  32.  

ESpero que funcione no lo he probado pero en teoria debe funcionar, Espero que te des una idea
UN intento de explicar lo inezplicable:D

carmamezo

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #3 en: Jueves 25 de Diciembre de 2003, 12:16 »
0
Creo que el problema está en la declaración typedef, en la librería has creado una matriz de dos dimensiones y de tipo Casilla, pero al hacer typedef Casilla Tablero[Max][Max] estás llamando a ese nuevo elemento de una forma concreta: Tablero.  Por tanto en tu programa deberás hacer lo siguiente:
Tablero un_tablero;
de tal manera que un_tablero es un array de Max posiciones y de tipo Casilla.  Creo que ese es el problema, no puedes usar un tipo de variable como nombre de una vble, al hacer typedef Tablero has creado Tablero como si fuera un tipo de vble (como int, char, float...) por eso no te deja usarla como nombre de una vble.  Un saludo.
No hay tonto más molesto que el ingenioso.

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #4 en: Sábado 27 de Diciembre de 2003, 17:04 »
0
Hola,

quiero dar las gracias a todos por ayudarme. Después de una semana he terminado una práctica del re\/ersi. Cuando haya entregado el código a los profesores lo pondre en este mismo foro por si a alguien le interesa.

Un saludo a todos.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

dreadlock

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #5 en: Sábado 27 de Diciembre de 2003, 21:40 »
0
pues esta muy bueno, te quedo bien, aunque sabes, no se si ea yo el torpe o que onda, esque no se como se juega el reversi, seria bueno que le pusieras instrucciones para los torpes como yo :D
Ahhh te pongo esta funcion es:

_setcursortype(_NOCURSOR);

esto esconde el cursor, por lo que al mover el cuadrito en el tablero no se veria el : cursor
UN intento de explicar lo inezplicable:D

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #6 en: Sábado 27 de Diciembre de 2003, 22:17 »
0
dreadlock no he hecho el programa a mi gusto, es una práctica que tengo que entregar a los profesores. De todas formas te explico en que consiste el juego:

si eres el jugador azul tienes que conseguir encerrar fichas del jugador contrario (verde) entre una ficha de tu color ya colocada en el tablero y la ficha que coloques con el cursor.

decir tb que de momento solo se puede jugar contra un jugador real, contra la maquina aun no lo he implementado.

un saludo.

adjunto algunos movimientos

el primero es
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #7 en: Sábado 27 de Diciembre de 2003, 22:18 »
0
el segundo
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #8 en: Sábado 27 de Diciembre de 2003, 22:20 »
0
el tercero
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #9 en: Sábado 27 de Diciembre de 2003, 22:23 »
0
el cuarto :whistling:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #10 en: Sábado 27 de Diciembre de 2003, 22:28 »
0
el quinto
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #11 en: Sábado 27 de Diciembre de 2003, 22:32 »
0
:blink:  y la ultima imagen que he tomado es...
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

cpp

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Tamaño De Una Matriz
« Respuesta #12 en: Martes 6 de Enero de 2004, 00:52 »
0
he creado una nueva versión del reversi para jugar contra la maquina. pronto pondre todo el codigo de la aplicacion por si alguien le quiere echar un ojo.
un saludo a todos
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.