Matrizes no idioma C

Matrizes no idioma C
Matrizes são um dos tópicos mais importantes no idioma C. Podemos armazenar o mesmo tipo de elementos de dados em uma alocação de memória contagiosa através de uma matriz. A característica especial de uma matriz é que podemos armazenar um grupo de variáveis ​​com o mesmo nome, mas no índice diferente não. Índice significa o endereço de cada bloco de memória. Então tem três recursos principais. Eles são:
  1. Array é uma coleção linear de elementos semelhantes.
  2. A matriz também é conhecida como variável subscrita.
  3. Array é um grupo de variáveis.

Onde podemos usar a matriz?

Aqui temos que avaliar a média de 1000 valores. Então, temos que declarar 1000 variáveis ​​mínimas para concluir este programa. Em vez de declarar 1000 variáveis ​​separadas, usamos uma matriz.

Ex: a [1000] onde a [] Uma matriz e 1000 são o número de variáveis.

[0] [1] [2] [3] [4] [5]

É um grupo, mas não tem nome individual, mas possui números de índice como 0, 1 e 2, e é preciso memória contígua na RAM. ÍNDICE NO. também é chamado de posição não. Tem o mesmo tipo de elemento de dados, assim como int, ou char, ou flutuação.

Array realmente representa o índice da primeira variável em uma matriz.

Se queremos acessar cada variável, escrevemos

a [0] [no primeiro nome da matriz, depois o suporte quadrado e o índice não.]

Mas a princípio, quando declaramos uma matriz, isso significa total não. de variáveis ​​em uma matriz,

int a [10] [significa que A é uma matriz, onde existem 10 variáveis]

Mas depois disso, quando escrevemos como,

a [0], a [1]… . Significa Índice não. da matriz

Seja a [0] = 12, a [1] = 8, a [2] = 10, a [3] = 15

Exemplo 1

#incluir

Aqui mostramos como uma matriz é declarada. Com a ajuda de uma matriz, calculamos a média de alguns valores.

int main ()

int a [10], soma = 0, i; // declarando uma matriz.
flutuar avg;
printf ("Digite 10 números");
para (i = 0; i <= 9 ; i++ )

scanf ("%d", & a [i]); // pegando um pouco do usuário na matriz.

para (i = 0; i <= 9 ; i++ )

soma = soma + a [i];

avg = soma / 10.0;
printf ("média é %f \ n", avg);
retornar 0;

Saída

Explicação

Aqui declaramos uma matriz denominada [], que contém 10 valores. Com a ajuda de para loop, Adicionamos alguns valores que serão retirados do usuário usando a função scanf (). Em seguida, calculamos a média dessa soma de dez valores e o armazenamos no Avg variável.

Declaração de Array

Int a []; Erro [Sempre que declaramos uma matriz sem inicialização e não colocamos nenhum número entre o suporte, significa que ocorreu um erro aqui]

Int a [5];
a [0] = 9;
int a [5] = 9,6,8,0,2
int a [] = 9,6,8,0,2
int a [5] = 9,6,8,0,2,4,7 é um erro, pois a matriz está fora de limite
A [5] = 9,6

Sempre que declaramos uma matriz sem inicialização, isso significa que cada índice tem, por padrão, o valor do lixo existente lá.

Quando declaramos uma matriz com inicialização, podemos esvaziar o suporte quadrado.

Se inicializarmos uma matriz com menos número, o restante dos valores no índice da matriz são, por padrão, zero.

Exemplo 2

Aqui mostramos como uma matriz dinâmica funciona nos dados e, com a ajuda da matriz, avaliamos o valor mínimo e máximo de um grupo de números.

#incluir
#incluir
int main ()

int *a, i, n, min, max;
printf ("Digite o tamanho da matriz:");
scanf ("%d", & n);
a = (int *) malloc (n * sizeof (int)); // malloc () é chamado para criar uma matriz.
para (int i = 0; i <= n - 1 ; i++ )
printf ("arr [%d]:", i);
scanf ("%d", & a [i]);

min = max = a [0];
para (i = 1; i a [i])
min = a [i];
if (máx< a[i] )
max = a [i]; // Descubra o valor máximo.

printf ("Mínimo de matriz é: %d", min);
printf ("\ n máximo de matriz é: %d \ n", max);
grátis (a);
retornar 0;

Saída

Explicação

Aqui com a ajuda da função MALLOC (), declaramos uma matriz e obtemos alguns valores no tempo de execução para calcular valores mínimos e máximos desses valores. Declaramos duas variáveis ​​denominadas min e max e imprimimos essas variáveis.

Exemplo 3

Com a ajuda do índice de matriz, revertemos os valores da matriz aqui.

#incluir
#incluir
int main ()

int *a, n, temp, i;
printf ("Digite o tamanho da matriz:");
scanf ("%d", & n);
a = (int *) malloc (n * sizeof (int)); // Criando uma matriz.
para (int i = 0; i <= n - 1 ; i++ )

printf ("arr [%d]:", i);
scanf ("%d", & a [i]);

para (int i = 0; i < n / 2 ; i++ )

temp = a [i];
a [i] = a [n - i - 1];
a [n - i - 1] = temp;

printf ("reverso da matriz \ n"); // revertendo a matriz.
para (int i = 0; i < n ; i++ )

printf (" %d", a [i]);

printf ("\ n");
grátis (a);
retornar 0;

Saída

Explicação

Aqui criamos uma matriz com a ajuda de alocação de memória dinâmica. A função malloc () cria o bloco da matriz e obtém alguns valores dinamicamente. Então revertemos esses valores das matrizes e os imprimimos.

Exemplo-4

Aqui mostramos como os elementos de uma matriz são copiados para outra matriz.

#incluir
int main ()

int a [100], b [100]; // declarando matrizes.
int i, n;
printf ("\ n \ n copie os elementos uma matriz em outra matriz: \ n");
printf ("--------------------------------------------- ----- \ n ");
printf ("Insira o número de elementos a serem armazenados na matriz:");
scanf ("%d", & n);
printf ("Entrada %D Elementos na matriz: \ n", n);
para (i = 0; i < n ; i++ )

printf ("Element - %d:", i);
scanf ("%d", & a [i]);

/* Copiar elementos da primeira matriz para a segunda matriz.*/
para (i = 0; i < n ; i++ )

b [i] = a [i]; // elementos de cópia.

/ * Imprime os elementos da primeira matriz */
printf ("\ n Os elementos armazenados na primeira matriz são: \ n");
para (i = 0; i < n ; i++ )

printf (" %d", a [i]);

/* Imprime os elementos copiados para a segunda matriz. */
printf ("\ n \ n Os elementos copiados na segunda matriz são: \ n");
para (i = 0; i < n ; i++ )

printf (" %d", b [i]);

printf ("\ n \ n");
retornar 0;

Saída

Explicação

Aqui declaramos uma matriz chamada a []. Nesta matriz, pegamos alguns valores do usuário. Agora declaramos outra matriz nomeada B []. Os elementos da matriz B [] são copiados dos elementos da matriz A [] e imprimem esses valores, a matriz A [] e B []. Podemos ver que a mesma saída é gerada, pois são versões copiadas.

Conclusão

Aqui discutimos em detalhes o conceito básico de uma matriz. Uma matriz é um procedimento para armazenar valores na memória. Através da matriz, podemos acessar qualquer elemento rapidamente. Mas a Array tem algumas limitações em relação à sua utilidade, mas é muito útil na perspectiva de programação.