em linhas e colunas utilizamos um array multidimensional,
e no C# como em outras linguagens,
os arrays multidimensionais suportam arrays de duas
ou mais dimensões.
Já sabemos que matriz é um conjunto de um nome
dado voluntariamente pelo programador,
para armazenar valores de mesmo tipo de dados.
Nós temos a liberdade de nomear uma matriz com
um nome qualquer, mas observando as boas práticas
de programação daremos um nome sugestivo nem só
as matrizes mas também a qualquer variável
que precisarmos nomear.
Quando declaramos uma matriz o compilador aloca
a quantidade de memória necessária para valores
especificados nas dimensões da matriz,
mas se por algum motivo os valores das dimensões
não forem especificados, o C# se encarregará de
fazer este trabalho automaticamente,
no nosso caso como já sabíamos de antemão os
valores que eram suficientes, resolvemos especificar.
Aqui está um exemplo muito claro e didático
de declaração, inicialização e impressão de matriz
tridimensional de inteiros e de strings.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
//ARRAY
TRIDIMENSIONAL DE INTEIROS E DE STRING
using System;
using System.Collections;
class Arr {
/*============================================================*/
void Informe ( ) {
Console.BackgroundColor =
ConsoleColor.White;
Console.SetCursorPosition ( 20, 18 );
Console.ForegroundColor =
ConsoleColor.Red;
Console.Write ( "Por: " );
Console.SetCursorPosition ( 25, 18 );
Console.ForegroundColor =
ConsoleColor.Blue;
Console.Write ( "Samuel Lima" );
Console.SetCursorPosition ( 20, 19 );
Console.ForegroundColor =
ConsoleColor.Black;
Console.Write ( "sa_sp10@hotmail.com" );
Console.SetCursorPosition ( 30, 21 );
Console.ForegroundColor =
ConsoleColor.Red;
Console.Write ( "MUITO OBRIGADO" );
}
/*============================================================*/
void Moldura ( int
tam_lin_ini, int
tam_lin_fim, int
tam_ini_col,
int tam_fim_col ) {
int i, c;
for ( i = tam_lin_ini; i < tam_lin_fim; i++ ) {
for ( c = tam_ini_col; c < tam_fim_col; c++ ) {
Console.SetCursorPosition ( c,
i );
Console.BackgroundColor =
ConsoleColor.White;
Console.Write ( " " );
}
}
}
/*============================================================*/
void Ini_Array ( ) {
int i, j, k;
int [ , , ] inteiros = new int [ 10, 2,
2 ] {
{ { 1, 11 }, { 21, 31 }
},
{ { 2, 12 }, { 22, 32 }
},
{ { 3, 13 }, { 23, 33 }
},
{ { 4, 14 }, { 24, 34 }
},
{ { 5, 15 }, { 25, 35 } },
{ { 6, 16 }, { 26, 36 }
},
{ { 7, 17 }, { 27, 37 }
},
{ { 8, 18 }, { 28, 38 }
},
{ { 9, 19 }, { 29, 39 }
},
{ {10, 20 }, { 30, 40 }}};
//Posiciona os
textos no console
Console.SetCursorPosition ( 6, 4 );
Console.ForegroundColor =
ConsoleColor.Black;
for ( i = 0; i < inteiros.GetLength ( 0 ); i++ ) {
for ( j = 0; j < inteiros.GetLength ( 1 ); j++ ) {
for ( k = 0; k < inteiros.GetLength ( 2 ); k++ ) {
Console.Write ( inteiros [
i, j, k ] + " " );
}
}
Console.SetCursorPosition ( 6, i +
5 );
}
string [ ,, ] nomes = new string [ 10, 4,
1 ] {
{{"one "}, {" eleven "}, {" twenty-one "}, {" thirty-one "}},
{{"two "}, {" twelve "}, {" Twenty-two "}, {" Thirty-two "}},
{{"three"}, {" thirteen "}, {" Twenty-three"}, {" Thirty-three"}},
{{"four
"}, {" fourteen "}, {" twenty-four "}, {" Thirty-four "}},
{{"five
"}, {" fifteen "}, {" Twenty-five "}, {" Thirty-five "}},
{{"six "}, {" sixteen "}, {" twenty-six "}, {" Thirty-six "}},
{{"seven"}, {" seventeen"}, {" Twenty-seven"}, {" Thirty-seven"}},
{{"eight"}, {" eighteen "}, {" Twenty-eight"}, {" Thirty-eight"}},
{{"nine
"}, {" nineteen "}, {" Twenty-nine "}, {" Thirty-nine "}},
{{"ten "}, {" twenty "}, {" thirty "}, {" forty "}}};
//Posiciona os
textos no console
Console.SetCursorPosition ( 20, 4 );
Console.ForegroundColor =
ConsoleColor.Black;
for ( i = 0; i < nomes.GetLength ( 0 ); i++ ) {
for ( j = 0; j < nomes.GetLength ( 1 ); j++ ) {
for ( k = 0; k < nomes.GetLength ( 2 ); k++ ) {
Console.Write ( nomes [ i,
j, k ] + " " );
}
}
Console.SetCursorPosition ( 20, i +
5 );
}
Console.ReadKey ( );
}
/*============================================================*/
public static void Main ( ) {
Console.Title = ( "ARRAY TRIDIMENSIONAL DE INTEIROS E DE STRING" );
Arr array = new Arr ( );
array.Moldura ( 1, 22, 2, 68 );
Console.SetCursorPosition ( 14, 2 );
Console.BackgroundColor =
ConsoleColor.White;
Console.ForegroundColor =
ConsoleColor.Red;
Console.Write ( "ARRAY TRIDIMENSIONAL DE INTEIROS E DE STRING" );
array.Informe ( );
array.Ini_Array ( );
//Segura a
execução do programa
Console.ReadKey ( );
}
}
/*============================================================*/
Nenhum comentário:
Postar um comentário