Como usar arrays multidimensionais em C Programming

Quando você precisa para descrever itens na segunda ou terceira dimensão, você pode usar programação C para conjurar luz um tipo multidimensional da matriz.

Como para fazer uma matriz bidimensional

Ela ajuda a pensar em uma matriz bidimensional como uma grade de linhas e colunas. Um exemplo deste tipo de matriz é um tabuleiro de xadrez - uma grelha de 8 linhas e colunas 8. Embora você pode declarar uma única matriz de 64 elementos para lidar com o trabalho de representar um tabuleiro de xadrez, uma matriz bidimensional funciona melhor. Tal coisa seria declarada desta forma:

int xadrez [8] [8] -

Os dois colchetes definir duas dimensões diferentes da matriz de xadrez: 8 linhas e 8 colunas. A praça localizada na primeira linha e coluna seria referenciado como o xadrez [0] [0]. O último quadrado nessa linha seria de xadrez [0] [7], e a última casa do tabuleiro de xadrez seria [7] [7].

Em Tic-Tac-Toe, uma placa de tic-tac-toe simples é criado usando uma matriz bi-dimensional: 3-por-3. Linhas de 9 a 11 de preencher a matriz. Linha 12 adiciona um personagem X na praça central.

JOGO DA VELHA

#include int main () {char tictactoe [3] [3] -int x, y - / * inicializar matriz * / for (x = 0-xlt; 3 x ++) for (y = 0-YLT; 3-y ++ ) tictactoe [x] [y] = '.'- tictactoe [1] [1] =' X '- / * tabuleiro de jogo de exibição * / puts ( "Pronto para jogar Tic-Tac-Toe?")-for(x=0-xlt;3-x++){for(y=0-ylt;3-y++)printf("%ct",tictactoe[x][y])-putchar('n')-}return(0)-}

As linhas 14 a 21 de exibir a matriz. Tal como acontece com a sua criação, a matriz é exibido usando um laço for aninhado.

Exercício 1: Criar um novo projeto usando o código-fonte mostrado na Tic-Tac-Toe. Construir e executar.

Um tipo de matriz bidimensional que é bastante fácil de entender é uma matriz de cadeias, como mostra a uma matriz de cadeias.

Uma matriz de strings

#include #define SIZE 3int main () {char presidente [TAMANHO] [8] = { "Clinton", "Bush", "Obama"} - int x, índice-for (x = 0-x

Linha 7 em uma matriz de cadeias declara uma matriz de char bidimensional: presidente. O primeiro valor entre colchetes é o número de itens (strings) na matriz. O segundo valor entre colchetes é o tamanho máximo necessário para manter a maior string. A maior cadeia é Clinton com sete letras, então oito caracteres são necessários, o que inclui o 0 ou nulo caractere de terminação.

Porque todos os itens na segunda dimensão da matriz deve ter o mesmo número de elementos, todas as cadeias são armazenados usando oito caracteres. Sim, isso é um desperdício, mas é a forma como o sistema funciona.

image0.jpg

exercício 2: Digite o código-fonte de uma matriz de cadeias para a sua construção editor- e executar o programa.

As demonstrações basicamente arrastar-se através da segunda dimensão da matriz presidente, cuspindo um carácter de cada vez.

Exercício 3: Substitua as linhas 15 a 23 em uma matriz de strings com um único puts () função para exibir a seqüência de caracteres. Veja como essa afirmação parece:

puts (Presidente [x]) -

Ao trabalhar com elementos de cadeia em uma matriz, a cadeia é referenciado pela primeira dimensão única.

exercício 4: Modificar seu código-fonte do Exercício 3 para que mais três presidentes são adicionados à matriz: Washington, Adams, e Jefferson.

Como criar matrizes tridimensionais

matrizes bidimensionais são bastante comuns no reino de programação. Multidimensional é uma loucura!

Bem, talvez não. Três e matrizes de quatro dimensões têm o seu lugar. O grande problema é que o cérebro humano tem dificuldade em manter-se com as várias dimensões possíveis.

Indo 3D ilustra o código, que funciona com uma matriz tridimensional. A declaração é encontrada na Linha 5. A terceira dimensão é simplesmente o terceiro conjunto de colchetes, o que efetivamente cria um tabuleiro de jogo tic-tac-toe 3D.

INDO 3D

#include int main () {char tictactoe [3] [3] [3] -int x, y, z - / * inicializar matriz * / for (X = 0-XLT; 3-x ++) para (Y = 0- YLT; 3-y ++) para (Z = 0-zlt; 3-Z ++) tictactoe [X] [Y] [Z] = '.'- tictactoe [1] [1] [1] =' X '- / * tabuleiro de jogo de exibição * / puts ( "Pronto para jogar 3D Tic-Tac-Toe?") - para (z = 0-zlt; 3-z ++) {printf ( "Nível %dn",z+1)-for(x=0-xlt;3-x++){for(y=0-ylt;3-y++)printf("%ct",tictactoe[x][y][z])-putchar('n')-}}return(0)-}

Linhas 8 a 12 preencher a matriz com os dados, utilizando variáveis x, y, e z como as coordenadas tridimensionais. Linha 13 lugares um personagem X no cubo central, que lhe dá uma ideia de como os elementos individuais são referenciadas.

O resto do código de Linhas 15 a 26 exibe a matriz.

exercício 5: Criar um programa de matriz tridimensional usando o código-fonte do Indo 3D. Construir e executar.

Lamentavelmente, a saída é bidimensional.

menu