Vídeo: 10.4: Pixels! (The Pixels Array) - Processing Tutorial 2024
Uma matriz 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 string de variáveis char. A matriz não contém todos os mesmos valores. Não, é mais como uma série de cubbyholes em que você coloque 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 de pontuação:
int highscore [];
Esta declaração está incompleta; O compilador ainda não sabe quantos itens, ou elementos , estão na matriz. Então, se a matriz de highscore fosse segurar três elementos, seria assim declarado:
int highscore [3];
Esta matriz contém três elementos, cada um deles próprio valor int. Os elementos são acessados assim:
highscore [0] = 750; highscore [1] = 699; highscore [2] = 675;
Um elemento de matriz é referenciado pelo número de índice entre colchetes. O primeiro item é o índice 0, que é algo que você precisa lembrar. Em C, você começa a contar com 0, que tem suas vantagens, então não pense que seja estúpido.
No exemplo anterior, atribui-se o valor 750 ao primeiro elemento de matriz, highscore [0]; o segundo elemento, 699; e o terceiro, 675.
Após a inicialização, uma variável de matriz é usada como qualquer outra variável em seu código:
var = highscore [0];
Esta declaração armazena o valor do elemento de matriz highscore [0] para variável var. Se o highscore [0] for igual a 750, var é igual a 750 após a execução da instrução.
HIGH SCORES, THE AWFUL VERSION
#include int main () {int highscore1, highscore2, highscore3; printf ("Sua maior pontuação:"); scanf ("% d", & highscore1); printf ("Seu segundo maior pontuação:"); scanf ("% d", & highscore2); printf ("Seu terceiro maior pontuação:"); scanf ("% d", & highscore3); coloca ("Aqui estão as suas pontuações elevadas"); printf ("# 1% dn", highscore1); printf ("# 2% dn", highscore2); printf ("# 3% dn", highscore3); retornar (0);}
Exercício 1 : Reescreva o código fonte de High Scores, a Versão Awful, adicionando uma quarta classificação alta e usando uma matriz - mas tenha em mente que sua matriz possui quatro valores, não três.
Existem muitas soluções para o Exercício 1. A solução de força bruta tem você preenchendo 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 e mais perspicaz é oferecida em High Scores, uma versão melhor.
HIGH SCORES, UMA VERSÃO MELHOR
#include int main () {int highscore [4]; int x; para (x = 0; x <4; x ++) {printf ("Seu #% d pontuação:", x + 1); scanf ("% d", & highscore [x]);} coloca ("Aqui estão os seus altos resultados"); para (x = 0; x <4; x ++) printf ("#% d% dn", x + 1, highscore [x]); return (0);}
A maior parte 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 nas instruções printf () (Linhas 10 e 16) permitem que você use a variável x no loop, mas exiba seu valor começando com 1 em vez de 0. Embora C comece a numerar a 0, os seres humanos ainda preferem começar em 1.
Exercício 2 : Digite o código-fonte de High Scores, uma versão melhor em seu editor e crie um novo projeto. Executá-lo.
Embora a saída do programa seja praticamente a mesma que a saída no Exercício 1, o método é muito mais eficiente, como comprovado pelo trabalho Exercício 3:
Exercício 3 : Modificar o código fonte de High Scores, uma versão melhor para que os dez melhores resultados sejam inseridos e exibidos.
Imagine como você teria que codificar a resposta para o Exercício 3 se você optar por não usar arrays!
-
O primeiro elemento de uma matriz é 0.
-
Ao declarar uma matriz, use o número total de elementos, como 10 para dez elementos. Mesmo que os elementos sejam indexados de 0 a 9, você ainda deve especificar 10 ao declarar o tamanho da matriz.