sequencial de armazenamento de dados) que contem um conjunto de elementos geralmente de um mesmo tipo de dados. Os elementos são referenciados por números inteiros chamados índices. A identificação dos elementos e seu respetivo acesso no array é através dos índices (também chamados de posição do array). ARRAYS (DECLARAÇÃO) Na linguagem C# a declaração de arrays tem a seguinte estrutura: tipodedadodoarray [] nomedoarray = new tipodedadodoarray [tamanhodalinha] ; - para arrays uma linha apenas (vetor) Ex: int[] idade = new int [2]; string [] nome= new string [2];
tipodedadodoarray [,] nome = tipodedadodoarray
[tamanhodalinha1, tamanhodalinha2, …] ; - para matrizes (com linhas e colunas) int[,] matriz2dimensoes = new int [2,3]; Int [, ,] matriz3dimensoes = new int [2,3,2]; ARRAYS (DECLARAÇÃO) Os valores do array podem ser inicializados
• string[,] matriz = new string[2, 2]; C# JAVA
• matriz[0, 0] = ”C#"; • matriz[0, 1] = ”Java"; Framework VB.NET • matriz[1, 0] = ”Framework"; • matriz[1, 1] = "VB.NET"; ARRAYS (TIPOS) 1. Unidimensionais (Vetor) Um array de uma dimensão (ou VETOR) - tem uma única linha.
Ex: int [] vetor = new int [3];
vetor[]= {3,5,7}; ou vetor = new int [] {3,5,7}; ARRAYS COM TAMANHO VARIAVEL Arrays com tamanho fixo ou defenido os elementos não variam, entretanto por vezes há necessidade de o utilizador definir o tamanho do array, quando a quantidade de elementos que o array vai conter varia. Pode ser declarado da seguinte forma:
int quant = int.parse(Console.ReadLine());
int []val = new int [quant]; ARRAYS (TIPOS) 2. Multidimensionais (Matriz) Um array com várias dimensões (MATRIZ) - tem mais de uma linha e coluna.
Ex1: int [,] matriz = new int [3,2]; 11 2
matriz [,]= {{11,2}, {8,5}, {5,6}}; 8 5
Ou 5 6
matriz [,]= new int {{11,2}, {8,5}, {5,6}};
ACESSAR OS ELEMENTOS POR INDICE
Os elementos são acedidos através do operador de
indexação [] O índice dos elementos inicia em zero
int[] numeros = new int[4] { 1, 2, 3, 4 };
Console.WriteLine(numeros[0]); No exemplo anterior, será imprimido na tela o elemento que ocupa a posição 0 no array números; ARRAYS (TIPOS) 3. Arrays de arrays (jagged) Um tipo de array que contem como seus elementos outro(s) array(s).
Ex: int [][] jagg = new int [2] [];
jagg [0] = new int [4] {1,2,3,4}; - isso significa que na posição 0 temos um array de dimensão 4 jagg [1] = new int [2] {2,4}; - isso significa que na posição 1 temos um array de dimensão 2 1 2 3 4 2 4 ARRAYS (EXEMPLO) Ex: Armazenar 20 números recebidos por teclado, na saida visualizar os números abaixo da média.
int[] valores = new int[20];
decimal soma = 0, media; for (int i = 0; i < 20; i++){ Console.WriteLine(String.Format("Informe o elemento de índice {0}:", i)); valores[i] = int.Parse(Console.ReadLine()); soma += valores[i]; } media = soma / 20; for (int i = 0; i < 20; i++){ if(valores[i] < media) Console.WriteLine(String.Format("O elemento de índice {0}, cujo valor é {1}, está abaixo da média.", i, valores[i])); } ARRAYS (EXERCÍCIOS Cria um programa em C# que recebe do teclado 10 números inteiros e imprima na saída: a) Todos números na ordem inversa que foram introduzidos. b) Todos números pares. ARRAYS (EXERCÍCIOS) EXERCÍCIOS 1. Armazenar vários nomes no array N e idades correspondentes no array e fazer validação da idade. Visualizar na saída: a. Os nomes com as respectivas idades. b. Nomes cujas idades encontram-se abaixo de 20.
2. Receber do teclado vários números que preenchem 2 arrays M e N
de dimensão igual no intervalo de 1 a 100. Na saída deve visualizar: a. Os elementos do terceiro array que é a soma de M e N. b. Quantos números impares existem no array N.
3. Armazenar quaisquer valores num array de N elementos. Visualizar a
quantidade de números negativos existentes no array e os elementos que ocupam as primeiras 3 posições. EXERCÍCIOS 4. Pretende-se criar um sistema informática que cadastra estudantes e docentes. Os dados dos estudantes a cadastrar são, nome, teste1 e teste2, as notas dos testes variam de 1 a 20. Para estudantes deve-se visualizar na saída: a. Os nomes dos estudantes e a respectiva média dos testes. b. Nomes dos estudantes que tiveram nota positiva nos 2 testes. c. Quantos estudantes tiveram média negativa. Para docentes deve-se guardar, nome e o número de estudantes que compõe a turma. Deve visualizar na saída: d. Os nomes dos docentes cujas turmas excedem 50 estudantes. O sistema termina quando o utilizador digitar o número 5. EXERCÍCIOS 5. Multiplicar dois arrays de comprimento igual, criando um novo 3° array. O conteúdo do 1° são números de zero a cem (0-100). O conteúdo do 2° são múltiplos de 5.
6. Receber várias idades, visualizar as idades em ordem
crescente. 7. Guardar vários valores num array no intervalo de 35 a 300. Visualizar na saída: a. A média de todos os números recebidos; b. A quantidade dos números impares no intervalo dado.