Noções básicas sobre matrizes para c programação

A ordem

na linguagem de programação C é uma série de variáveis ​​do mesmo tipo: uma dúzia de variáveis ​​int, duas ou três variáveis ​​duplas, 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ê furar 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 é incomplete- o compilador ainda não sabe quantos itens, ou elementos, estão na matriz. Então, se a matriz de recordes foram para prender três elementos, seria declarada como este:

int pontuação máxima [3] -

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

pontuação máxima [0] = 750-recordes [1] = 699-recordes [2] = 675-

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

No exemplo anterior, o primeiro elemento da matriz, pontuação máxima [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 no seu código:

var = pontuação máxima [0] -

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



RECORDES, a versão TERRÍVEL

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

Exercício 1: Reescrever o código-fonte do Pontuações Elevadas, a versão Awful, adicionando um quarto alta pontuação e usando uma matriz - mas tenha em mente que a 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 você encher 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 High Scores, uma versão melhor.

RECORDES, uma versão melhor

#include int main () {int pontuação máxima [4] -int x-para (x = 0-xlt; 4-x ++) {printf ("Seu #% d pontuação: ", X + 1) -scanf ("% d",&highscore [x]) -} puts ("Aqui estão as suas pontuações mais altas") -para (x = 0-xlt; 4-x ++) printf ("#% D% dn", X + 1, pontuação máxima [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 no printf () declarações (linhas 10 e 16) permitem que você use o X variável no circuito mas exibir o seu valor de partida com 1 em vez de 0. Embora C gosta de iniciar a numeração a 0, os seres humanos ainda preferem a partir de um.

Video: Programação C - Aula 10 - Matriz bidimensional

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 a trabalhar:

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

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

Video: Exercício de Matriz - Curso de Linguagem C #25

  • O primeiro elemento de uma matriz é 0.

  • Quando declarar uma matriz, utilizar o número total de elementos, tais como 10 por dez elementos. Mesmo que os elementos são indexados de 0 a 9, você ainda deve especificar 10 ao declarar o tamanho da matriz.


Publicações relacionadas