quinta-feira, 1 de agosto de 2019

C# - Array bidimensional de string

Se já sabemos declarar, inicializar e percorrer,
as posições de um simples array em C#,
estamos muito perto de entendermos como
funciona os arrays multidimensionais.
Nós percebemos que os arrays comuns (unidimensionais),
precisa de apenas um inteiro para sua completa indexação,
já um multidimensional irá precisar de dois ou mais inteiros

para serem indexados.
O C# possui uma forma diferenciada para declaração

de um array bidimensional, isto é conseguido simplesmente
colocando uma vírgula dentro dos colchetes,
observando bem, notaremos logo que o C# rastreia
os tamanhos das dimensões automaticamente,
isto é muito bom para nós.
Usando duas vírgulas dentro dos colchetes,
teremos obviamente uma matriz tridimensional,
mas isto será visto num próximo post.

mas não quero poluir o forum com tópicos só meu,
então depois deste só volto a postar depois
que outros posts forem criados.

Veja abaixo uma imagem do programa em execução:



Veja abaixo o código do programa:


//Array bidimensional de string
using System;
using System.Collections;

class Arr {
    /*============================================================*/
    void Informe ( ) {
        Console.BackgroundColor = ConsoleColor.White;
        Console.SetCursorPosition ( 20, 20 );
        Console.ForegroundColor = ConsoleColor.Red;
        Console.Write ( "Por: " );
        Console.SetCursorPosition ( 25, 20 );
        Console.ForegroundColor = ConsoleColor.Blue;
        Console.Write ( "Samuel Lima" );
        Console.SetCursorPosition ( 20, 21 );
        Console.ForegroundColor = ConsoleColor.Black;
        Console.Write ( "sa_sp10@hotmail.com" );
        Console.SetCursorPosition ( 30, 23 );
        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 = 0;
        string [ , ] nomes = new string [ , ] {
        {"one  ", " eleven   ", " twenty-one  ", " thirty-one  ", " forty-one", },
        {"two  ", " twelve   ", " Twenty-two  ", " Thirty-two  ", " Forty-two", },
        {"three", " thirteen ", " Twenty-three", " Thirty-three", " Forty-three"},
        {"four ", " fourteen ", " twenty-four ", " Thirty-four ", " forty-four",},
        {"five ", " fifteen  ", " Twenty-five ", " Thirty-five ", " forty-five",},
        {"six  ", " sixteen  ", " twenty-six  ", " Thirty-six  ", " Forty-six", },
        {"seven", " seventeen", " Twenty-seven", " Thirty-seven", " Forty-seven"},
        {"eight", " eighteen ", " Twenty-eight", " Thirty-eight", " Forty-eight"},
        {"nine ", " nineteen ", " Twenty-nine ", " Thirty-nine ", " forty-nine",},
        {"ten  ", " twenty   ", " thirty      ", " forty       ", " fifty"     }};
        //Posiciona os textos no console
        Console.SetCursorPosition ( 5, 6 );
        Console.ForegroundColor = ConsoleColor.Black;
        for ( i = 0; i < nomes.GetLength ( 0 ); i++ ) {
            for ( j = 0; j < nomes.GetLength ( 1 ); j++ ) {
                Console.Write ( nomes [ i, j ] + " " );
            }
            Console.SetCursorPosition ( 5, i + 7 );
        }
        Console.SetCursorPosition ( 20, 17 );
        Console.WriteLine ( "Total de linhas => " + i );
        Console.SetCursorPosition ( 20, 18 );
        Console.WriteLine ( "Total de colunas => " + j );
    }
    /*============================================================*/
    public static void Main ( ) {
        Console.Title = ( "ARRAY BIIDIMENSIONAL DE STRING" );
        Arr array = new Arr ( );
        array.Moldura ( 1, 24, 2, 68 );
        array.Ini_Array ( );
        Console.SetCursorPosition ( 20, 2 );
        Console.BackgroundColor = ConsoleColor.White;
        Console.ForegroundColor = ConsoleColor.Red;
        Console.Write ( "ARRAY BIDIMENSIONAL DE STRING" );
        array.Informe ( );
        //Segura a execução do programa
        Console.ReadKey ( );
    }
}
/*============================================================*/




Nenhum comentário:

Postar um comentário