Noções básicas sobre matrizes para Programação C

A ordem na linguagem de programação C é a série de variáveis ​​do mesmo tipo: uma dúzia de variáveis ​​int, duas ou três variáveis ​​de casal, ou uma série de variáveis ​​de caracteres. A matriz não contém todos os mesmos valores. Não, é mais como uma série de cubículos em que você cola valores diferentes.

Uma matriz é declarada como qualquer outra variável. É dado um tipo e um nome e, em seguida, também um conjunto de colchetes. A declaração a seguir declara a matriz pontuação máxima:

int highscore [] -

Esta declaração é incompletude o compilador ainda não sabe quantos itens, ou elementos, estão na matriz. Portanto, se a matriz de pontuação máxima foram de segurar três elementos, isto seria declarada como este:

int highscore [3] -

Esta matriz contém três elementos, cada um deles o seu próprio valor int. Os elementos são acessados ​​como este:

highscore [0] = 750 recordes [1] = 699-highscore [2] = 675-

Um elemento de matriz é referenciado pelo seu número de índice entre colchetes. O primeiro item é o índice 0, o que é algo que você tem que se lembrar. Em C, você começar a contar a 0, que tem suas vantagens, por isso não acho que é estúpido.

No exemplo anterior, o primeiro elemento da matriz, recordes [0], é atribuído o valor 750 do segundo elemento, 699- e a terceira, 675.

Após a inicialização, uma variável de matriz é usado como qualquer outra variável em seu código:

var = recordes [0] -

Esta declaração armazena o valor do elemento da matriz de recordes [0] para var variável. Se recordes [0] é igual a 750, var é igual a 750, depois os executa statement.

RECORDES, a versão HORRÍVEL

#include int main () {int highscore1, highscore2, highscore3-printf ( "A sua pontuação mais alta:") -scanf ( "% d", highscore1) -printf ( "Sua segunda maior pontuação:") -scanf ( "% d ", highscore2) -printf (" sua terceira maior pontuação: ") -scanf ("% d ", highscore3) -puts (" Aqui estão as suas pontuações mais altas ") - printf (" # 1% d n ", highscore1) -printf ( "# 2% d n", highscore2) -printf ( "# 3% d n", highscore3) -Retornar (0) -}

Exercício 1: Reescrever o código fonte a partir Pontuações Elevadas, a versão Awful, adicionando um quarto alta pontuação e usando uma matriz - mas tenha em mente que a sua matriz contém quatro valores, não três.

Existem muitas soluções para o Exercício 1. A solução de força bruta tem-no enchendo cada variável de matriz individualmente, linha após linha, semelhante ao código fonte em High Scores, a versão Awful. Uma solução melhor, mais perspicaz é oferecido em Pontuações Elevadas, uma versão melhor.

RECORDES, uma versão melhor

#include int main () {int highscore [4] -int x-for (x = 0-xlt; 4 x ++) {printf ( "Your #% d pontuação:", x + 1) -scanf ( "% d ", highscore [x]) -} puts (" Aqui estão as suas pontuações mais altas ") - para (x = 0-xlt; printf 4 x ++) (" #% d% d n ", x + 1, highscore [ x]) - retorno (0) -}

A maioria do código de High Scores, uma versão melhor deve ser familiar para você, embora a nova notação de matriz. Os argumentos x + 1 na printf () declarações (linhas 10 e 16) permitem que você use o x variável no circuito, mas mostrar o seu valor começando com 1 em vez de 0. Embora C gosta de começar a numeração em 0, os seres humanos continuam a preferir a partir de 1.

exercício 2: Digite o código-fonte do Pontuações Elevadas, uma versão melhor em seu editor e construir um novo projeto. Executá-lo.

Embora a saída do programa é praticamente a mesma que a saída no Exercício 1, o método é muito mais eficiente, como provado por Exercício 3 trabalho:

Exercício 3: Modificar o código fonte a partir Pontuações Elevadas, uma versão melhor de modo que os dez melhores pontuações são de entrada e exibido.

Imagine como você teria para codificar a resposta para o Exercício 3, se você optar por não usar matrizes!

  • O primeiro elemento de uma matriz é 0.

  • Ao declarar uma matriz, use o número total de elementos, tais como 10 para dez elementos. Mesmo que os elementos são indexados a partir de 0 a 9, você ainda deve especificar 10 quando declarar o tamanho da matriz.

menu