Matrizes - programação
Arranjos e Ponteiros
Capítulo 13 – página 345 (1ª Edição)
Capítulo 16 – página 385 (2ª Edição)
O comando para declaração de matrizes em outras linguagens de programação, como o Delphi ou o VB, comporta mais de uma dimensão. No C/C++, teoricamente, só se tem espaço para arranjos unidimensionais. Esta limitação é contornada usando uma declaração de vetor de vetor.
Sendo assim, uma matriz ou tabela, é definida como um vetor de vetor de dados do mesmo tipo. O índice do primeiro vetor corresponde ao valor da linha e o segundo índice (índice do vetor de vetor) corresponde ao valor da coluna.
A forma de declarar uma matriz é:
TipoDeDado NomeDaMatriz [QuantidadeDeLinhas] [QuantidadeDeColunas]
Exemplo: double m[3][5];
Obs: Uma matriz de 3 linhas e 5 colunas de dados do tipo double é equivalente a 15 variáveis (=3 linhas*5 colunas) do tipo double.
Assim sendo a declaração acima também poderia ter sido feita desta forma: double m[15];
Exercícios
Ex15 - página 361 (1ª Edição)
Ex12 - página 400 (2ª Edição)
Dada uma matriz quadrada de ordem N, com NText.ToInt(); for (i=0;iClear();Edit2->Clear();Edit3->Clear();
Edit1->SetFocus();
for (int i=0;iFixedCols=0;
StringGrid1->FixedRows=0;
}
//---------------------------------------------------------------------------
Observação
Componente TStringGrid – página 392 Item 14.11 (1ª Edição) página 398 Item 16.4 (2ª Edição)
Se na determinação dos termos da matriz, os termos tivessem a seguinte lei de formação: M[i][j]=i+j;
Os termos gerados no StringGrid1 ficariam assim:
[pic]
Ex 29 - página 367 (1ª Edição)
Dada uma matriz M de ordem N, com NText.ToInt();
//Determinação dos elementos da matriz for (i=0;iClear();Edit5->Clear();Edit1->SetFocus(); for (int