Uma Array também conhecido como matriz é uma lista seqüencial de itens. O tipo de item que você pode armazenar na matriz são definidas pelo tipo de matriz na declaração. Arrays podem ser simples ou multi-dimensional, e cada dimensão pode ter diferentes comprimentos.
No exemplo a seguir complementando o post anterior sobre looping usaremos aqui o comando Continue. este comando força transferência de controle para a proxima expressão, ou seja continua a execução do looping ignorando o ponteiro atual usado nos comandos: do, for e while.
Imagine o seguinte cenário:
Em uma maratona temos 16 corredores homens e mulheres cada um com uma pulseira que envia um sinal para uma rede sem fio e ao cruzar a linha de chegada e automaticamente nos é dados nome e o tempo dos corredores o que fazemos é identificar nos dados quem fez o primeiro e segundo lugar:
Java
public class Looping { public static void main(String[] args) { String[] nomes ={ "Elena", "Tomas", "amilton", "Susie", "Felipe", "Mateus", "Alex", "Fabia", "Joao", "James", "Jane", "Emilia", "Daniel", "Leda", "Ariana", "Kate" }; int[] tempos ={ 341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299, 343, 317, 265 }; int primeiro = 0; int segundo = 0; String ganhador = null ; String vice = null ; for (int i = 0; i < nomes.length; i++) { System.out.println(nomes[i]+ ": " + tempos[i]); if (tempos[i] > primeiro) {primeiro = tempos[i]; ganhador = nomes[i]; } } System.out.println("Primeiro lugar: "+ ganhador + " com segundos: " + primeiro); for (int i = 0; i < nomes.length; i++) { if (tempos[i] == primeiro) {continue;} if (tempos[i] > segundo) {segundo = tempos[i]; vice = nomes[i]; } } System.out.println("Segundo lugar: "+ vice + " com segundos: " + segundo); } }
C++
#include "stdafx.h" #include <iostream> #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { const int itens = 16; string nomes[itens] = { "Elena", "Tomas", "amilton", "Susie", "Felipe", "Mateus", "Alex", "Fabia", "Joao", "James", "Jane", "Emilia", "Daniel", "Leda", "Ariana", "Kate" }; int tempos[itens] = { 341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299, 343, 317, 265 }; int primeiro = 0; int segundo = 0; string ganhador = ""; string vice = ""; for (int i = 0; i < itens ; i++) { cout << nomes[i] << ": " << tempos[i] <<"\n"; if (tempos[i] > primeiro) { primeiro = tempos[i]; ganhador = nomes[i]; } } cout << "\nPrimeiro lugar: " << ganhador << " com segundos: " << primeiro << "\n"; for (int i = 0; i < itens; i++) { if (tempos[i] == primeiro) { continue; } if (tempos[i] > segundo) { segundo = tempos[i]; vice = nomes[i]; } } cout << "Segundo lugar: " << vice << " com segundos: " << segundo<< "\n\n"; system("pause"); return 0; }
C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication33 { class Program { static void Main(string[] args) { String[] nomes ={ "Elena", "Tomas", "amilton", "Susie", "Felipe", "Mateus", "Alex", "Fabia", "Joao", "James", "Jane", "Emilia", "Daniel", "Leda", "Ariana", "Kate" }; int[] tempos ={ 341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299, 343, 317, 265 }; int primeiro = 0; int segundo = 0; String ganhador = null ; String vice = null ; for (int i = 0; i < nomes.Length; i++) { Console.WriteLine(nomes[i]+ ": " + tempos[i]); if (tempos[i] > primeiro) {primeiro = tempos[i]; ganhador = nomes[i]; } } Console.WriteLine("Primeiro lugar: "+ ganhador + " com segundos: " + primeiro); for (int i = 0; i < nomes.Length; i++) { if (tempos[i] == primeiro) {continue;} if (tempos[i] > segundo) {segundo = tempos[i]; vice = nomes[i]; } } Console.WriteLine("Segundo lugar: " + vice + " com segundos: " + segundo); Console.ReadKey(); } } }
Exercicios: Mostrar o tempo do terceiro ganhador e customizar o código fonte para que fique mais compacto.