1 / 33

Programação I Arrays

Programação I Arrays. Arrays. O que são arrays: estruturas de dados homogêneas coleção de elementos do mesmo tipo referenciada por um nome comum um array pode ser imaginado como uma linha em uma tabela são usados para ordenação e busca. Arrays.

kieran-witt
Download Presentation

Programação I Arrays

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programação IArrays

  2. Arrays • O quesão arrays: • estruturas de dados homogêneas • coleção de elementos do mesmotiporeferenciadapor um nomecomum • um array pode ser imaginadocomoumalinhaemumatabela • sãousadosparaordenação e busca

  3. Arrays • Arrays sãocompostosporposiçõescontíguasnamemória • Exemplo: um array de 4 elementos

  4. Arrays • Como declarar arrays: <tipo dos elementos> <nome> [<número de elementos>]; • Exemplo: int v[10]; float notas[4];

  5. Arrays <tipo> <nome> [<número de elementos>]; • tipo: o tipo de dado que o array armazena. Arrays sópodemarmazenar um únicotipo • nome: qualqueridentificadorválido. Mesmasregras de identificadores de variáveis • número de elementos: array sãoestruturasestáticas, portanto o tamanho é definidonadeclaração

  6. Acessandoelementos do array • Os elementossãoacessadospormeio do nomeseguido do índice do elemento • O índice do primeiroelemento é O (zero) e do último é n-1, sendo n o número de elementos • Exemplo: int a[3]; • primeiroelemento : a[0] • segundoelemento: a[1] • terceiroelemento: a[2]

  7. Acessandoelementos do array • Para atribuir valor aoelemento do array: a[2] = 10; //armazena 10 no elemento de índice 2 • Para usar o valor do elemento do array: soma = a[0] + a[1];

  8. Acessandoelementos do array • Acessar um array semespecificar o índice é um erro de sintaxe int a[10]; a = 99; //erro cout << a; //erro

  9. Acessandoelementos do array • Acessar um elemento “fora” do array é um erro de lógica e trazresultadosinesperadosem tempo de execução int a[10]; … soma = soma + a[10];

  10. Inicializando arrays • Com estrutura de repetição intarr[10]; int i = 0; for(i=0; i<10; i++) { arr[i] = 0; }

  11. Inicializando arrays • Atribuindo valor a cadaelemento char vogais[5] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’}; int a[3] = { 1, 4, 9};

  12. Inicializando arrays • Atribuindo valor zero a todososelementos int a[100] = {0}; //istofunciona • No entanto int a[100] = {-1}; //istonãofunciona!

  13. Array de caracteres • Arrays de caracteres possuem certas características próprias • A principal diferença entre estetipo e os arrays numéricos é queelespodem ser tratadoscomopalavrasoufrases • Porexemplo, é possível “ler” todososcaracteres de umavezsó

  14. Array de caracteres • Declarando um array de char: char palavra[30]; • Declarando e inicializando: char vogais[6]={ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’}; ou char vogais[6]=“aeiou”; // istopodenadeclaração

  15. Array de caracteres • Arrays de char devemreservar a últimaposiçãopara o terminador ‘\0’ oucaractere NULL • Isto é especialmenteimportantequando a “palavra” nãoocupatodas as posições • Exemplo char p[30] = “teste”; • Internamenteseráarmazenado “teste\0” sobrando 24 posições

  16. Array de caracteres • Atribuição de valores a[0]=‘x’; a[1]=‘y’; • No entanto: a = “xy”; // isto é um erro a[1] = “x” // isto é um erro

  17. Array de caracteres • Lendovalores • Não use cin • Para ler arrays de caracteres • gets( <array>) ; • nãofazverificação de tamanho • Estafunçãofazparte de <cstdio>

  18. Array de caracteres • Lendovalores – exemplo char a[10]; gets(a); • Lêumapalavraoufrase e colocacadaletraemumaposição do array, a partirdaposição0

  19. Array de caracteres • mostrandovalores – exemplo char a[10]; … puts(a); //exibe o conteúdo do array • Ou cout << a;

  20. Array de caracteres • Outrasfunçõesparacaracteres • tolower(<caractere>) - converteparaminúsculo • toupper (<caractere>) – converteparamaiúsculo • isspace (<caractere>) - retornaverdadeiro se o caractere for um espaçoembranco • isdigit (<caractere>) - verifica se o caractere é um número decimal

  21. Outrasfunçõespara arrays de caracteres • strcpy(<destino>, <conteúdo>); • Exemplo char frase[50]; frase = “teste”; // isto é um erro strcpy(frase, “teste”); // copia a cadeia // “teste” no array frase

  22. Outrasfunçõespara arrays de caracteres • strcmp(<array>, <array>); • compara se dois arrays sãoiguais • Exemplo char palavra[50], outraPalavra[50]; if (frase == “teste”)// isto é um erro strcmp(palavra, outraPalavra)

  23. Outrasfunçõespara arrays de caracteres • strcmp( ) é umafunçãoquerecebeduascadeias de caracteres e retorna: • 0, se as duascadeiasforemiguais • -1, se a primeira for menorque a segunda • 1, se a primeira for maiorque a segunda

  24. Array de duasdimensões • Arrays podemtermais de umadimensão • Arrays de duasdimensõespodem ser vistoscomotabelas e geralmentesãochamados de matrizes • Matrizessãoconjuntos de dados arranjadosna forma de linhas e colunas • Para identificar um elementonatabela é necessárioindicar a linha e coluna do elemento (célula)

  25. Array de duasdimensões

  26. Array de duasdimensões • Declarando arrays de duasdimensões int a[3][4]; • Inicializandonadeclaração int a[2][2] = {{ o,o}, {0,0}};

  27. Array de duasdimensões • Inicializando com estrutura de repetição int a[3][4]; for (i=0; i < 3; i++){ for (j=0; j < 4; j++){ a[i][j] = 0; } }

  28. Array de duasdimensões • Inicializando com estrutura de repetição int a[3][4]; for (i=0; i < 3; i++){ for (j=0; j < 4; j++){ a[i][j] = 0; } } sempre é necessárioreferenciar a linha e coluna

  29. Array de duasdimensões • Lendoos dados de umamatriz int a[3][4]; for (i=0; i < 3; i++){ for (j=0; j < 4; j++){ cin >> [i][j]; } }

  30. Array de duasdimensões • Mostrandoos dados de umamatriz int a[3][4]; for (i=0; i < 3; i++){ for (j=0; j < 4; j++){ cout << [i][j] << “\t”; } cout << endl; //muda a linha }

  31. Buscaem Arrays • Umabuscaconsisteem saber: • se um dado elementoestá no array • quantasocorrências do elementoprocuradoexistem no array • Exemplo: • Dado um número de candidato, saber se eleestánalista dos aprovados

  32. Buscaem Arrays • Exemplo: … boolachou = false; while(i < TAM){ if(lista[i] == elemento){ achou = true; } i++; }

  33. Buscaem Arrays • Exemplomelhorado: … boolachou = false; while(i < TAM && !achou){ if(lista[i] == elemento){ achou = true; } i++; }

More Related