Autor Tema: Como se crea un vector multi-dimensional?  (Leído 70 veces)

Desconectado Max

  • Newbie
  • *
  • Mensajes: 2
  • Karma: +0/-0
Como se crea un vector multi-dimensional?
« : enero 25, 2012, 12:15:00 pm »
Estoy tratando de hacer el juego 3 en raya y quiero crearlo con vectores(arrays) multi-dimensional? es decir, que tenga filas y columnas. Alguien sabe como puedo hacer los vectores?

Desconectado Admin

  • Administrator
  • *****
  • Mensajes: 15
  • Country: do
  • Karma: +0/-0
  • Scientia potestas est
    • The berd
Re:Como se crea un vector multi-dimensional?
« Respuesta #1 : enero 25, 2012, 01:45:54 pm »

Los vectores que quieres hacer se crean de la misma forma que los vectores normales. Ejemplo;
int tabla[10];
Donde 10 es el numero de espacios que tendrá el vector. eso creara algo como [][][][][][][][][][].
Por otro lado, int tabla[2][5]; creara lo siguiente
[][][][][][]
[][][][][][]
[][][][][][]

Aquí te dejo un ejemplo de 3 en raya o tic tac toe.

Código: [Seleccionar]
#include <stdio.h>
#define MAX 3// la cantidad de cuadros que tendrá cada linea y columna en el vector

int main()
{
    char tic[MAX][MAX];// Crea un vector de 3x3
    int i,j;
    i=0;
    j=0;
    tic[0][0]=' '; // primier cuadrito
    tic[0][1]=' ';
    tic[0][2]=' ';
    tic[1][0]=' ';
    tic[1][1]='X'; // cuadrito de el medio
    tic[1][2]=' ';
    tic[2][0]=' ';
    tic[2][1]=' ';
    tic[2][2]=' ';

    printf("\n\n\t");
    for (i = 0;i <= MAX-1; ++i){ // mientras i sea menor o igual que la cantidad de espacios en el vector, se ejecutara el bucle
         while (j <= 2){ // en este caso 2 representa el indice del 3er espacio en una linea
                if (j == 2) // si j es igual a 2 eso quiere decir que se imprimira el 3er cuadrito de esa linea
                    printf("|%c|\n\t",tic[i][j]);
                else
                    printf("|%c",tic[i][j]);//el primer cuadro y el segundo se imprimen con esto.
                j++;
         }
         j = 0;
    }
    printf("\n\n");
    system("pause");
    return 0;
}