 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.

Slides:



Advertisements
Apresentações semelhantes
LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Advertisements

Programação em Java Prof. Maurício Braga
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
Désiré NGuessan Programação II Estruturas de Dados
Tipos de dados, Variáveis, Expressões e Operadores
Profª. Leticia Lopes Leite LAPRO A - FACIN
ICC – Matrizes Jorge Macêdo.
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
Introdução à Linguagem C
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
AULA – Linguagem C – Vetores, Ponteiros Estruturas
UDESC - Prof. Juliano Maia
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
Universidade Federal do Espírito Santo Programação II Vetores Professora: Norminda Luiza.
Linguagem C Strings.
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Linguagem C Strings.
Ponteiros.
VETORES, STRINGS E MATRIZES
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
Strings Definição: Não confundir caracteres com strings
Algoritmos e Programação
O Portal do Estudante de Computação
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
O Portal do Estudante de Computação
Strings: Cadeia de Caracteres
Vetores em c / c++: Formato geral para declaração de variáveis:
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 6 Vetores e Matrizes
Ameliara Freire Os programas manipulam dados, armazenando- os e, muitas vezes, modificando seus valores. Basicamente, a linguagem.
Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012.
PHP Tipos de dados Constantes.
Linguagem de Programação II Parte VII
Linguagem de Programação II Parte V
Linguagem de Programação II Parte IX
CADEIA DE CARACTERES (Strings)
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Seminário 1: Revisão de C
Aula prática 6 Vetores e Matrizes
DAVID ANDERSON CARDOSO DANTAS
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Professor Mário Dantas
Prof. Ricardo Santos PONTEIROS
Curso de C/C++ Aula 2 Instrutor: Luiz Felipe Sotero
Computação Eletrônica
Vetores Imagine que você tem que receber o nome e a nota de 50 alunos de uma escola, e depois listar o nome de cada um e a média final de cada aluno e.
Fundamentos de Programação
Vetores e Matrizes Ameliara Freire
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Programação Orientada a Objetos - Java
STRINGS Dilvan Moreira (baseado no livro Big Java e Z. Liang)
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Linguagem C.
CES-10 INTRODUÇÃO À COMPUTAÇÃO
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
 2000 Prentice Hall, Inc. All rights reserved. 1 Capítulo 8 - Caracteres e Strings Sumário 8.1Introdução 8.2Conceitos Fundamentais de Strings e Caracteres.
Professor: André Didier Autor: Francisco Airton
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
PROGRAMAÇÃO II – PARTE 6 Profa. Maria Augusta Constante Puget.
Estruturas Homogêneas – Vetores e Matrizes
Profa. Maria Augusta Constante Puget
Tipos de Dados, Variáveis, Expressões Lógicas e Aritméticas
Array e ArrayList LPOO – 01/09/14.
Programação em C Aula 9.
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
PCI- Vetores Profa. Mercedes Gonzales Márquez. Aula 5 - VetoresAlgoritmos e Estruturas de Dados I Sequência de valores todos do mesmo tipo Nome único.
Estruturas Homogêneas - Vetores
1 Aula 07 Strings Prof. Filipe Mutz. 2 Em nossos programas ainda não vimos como armazenar palavras e textos, e eles são muito importantes! Exemplos: Programas.
Aula Prática 7 STRINGS Monitoria  Um dos tipos de arranjos que mais ocorre em C é o arranjo de caracteres, ou string. C não suporta um tipo básico.
Transcrição da apresentação:

 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 são compostos por posições contíguas na memória  Exemplo: um array de 4 elementos

 Como declarar arrays: [ ];  Exemplo: int v[10]; float notas[4];

[ ];  tipo: o tipo de dado que o array armazena. Arrays só podem armazenar um único tipo  nome: qualquer identificador válido. Mesmas regras de identificadores de variáveis  número de elementos: array são estruturas estáticas, portanto o tamanho é definido na declaração

 Os elementos são acessados por meio do nome seguido do índice do elemento  O índice do primeiro elemento é O (zero) e do último é n-1, sendo n o número de elementos  Exemplo: int a[3];  primeiro elemento : a[0]  segundo elemento: a[1]  terceiro elemento: a[2]

 Para atribuir valor ao elemento 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];

 Acessar um array sem especificar o índice é um erro de sintaxe int a[10]; a = 99; //erro cout << a; //erro

 Acessar um elemento “fora” do array é um erro de lógica e traz resultados inesperados em tempo de execução int a[10]; … soma = soma + a[10];

 Com estrutura de repetição int arr[10]; int i = 0; for(i=0; i<10; i++) { arr[i] = 0; }

 Atribuindo valor a cada elemento char vogais[5] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’}; int a[3] = { 1, 4, 9};

 Atribuindo valor zero a todos os elementos int a[100] = {0}; //isto funciona  No entanto int a[100] = {-1}; //isto não funciona!

 Arrays de caracteres possuem certas características próprias  A principal diferença entre este tipo e os arrays numéricos é que eles podem ser tratados como palavras ou frases  Por exemplo, é possível “ler” todos os caracteres de uma vez só

 Declarando um array de char: char palavra[30];  Declarando e inicializando: char vogais[6]={ ‘a’, ‘b’, ‘c’, ‘d’, ‘e’}; ou char vogais[6]=“aeiou”; // isto pode na declaração

 Arrays de char devem reservar a última posição para o terminador ‘\ 0 ’ ou caractere NULL  Isto é especialmente importante quando a “palavra” não ocupa todas as posições  Exemplo char p[30] = “teste”;  Internamente será armazenado “teste\ 0 ” sobrando 24 posições

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

 Lendo valores  Não use cin  Para ler arrays de caracteres  gets( ) ;  não faz verificação de tamanho  Esta função faz parte de

 Lendo valores – exemplo char a[10]; gets(a);  Lê uma palavra ou frase e coloca cada letra em uma posição do array, a partir da posição 0

 mostrando valores – exemplo char a[10]; … puts(a); //exibe o conteúdo do array  Ou cout << a;

 Outras funções para caracteres  tolower( ) - converte para minúsculo  toupper ( ) – converte para maiúsculo  isspace ( ) - retorna verdadeiro se o caractere for um espaço em branco  isdigit ( ) - verifica se o caractere é um número decimal

 strcpy(, );  Exemplo char frase[50]; frase = “teste”; // isto é um erro strcpy(frase, “teste”); // copia a cadeia // “teste” no array frase

 strcmp(, );  compara se dois arrays são iguais  Exemplo char palavra[50], outraPalavra[50]; if (frase == “teste”) // isto é um erro strcmp(palavra, outraPalavra)

 strcmp( ) é uma função que recebe duas cadeias de caracteres e retorna:  0, se as duas cadeias forem iguais  -1, se a primeira for menor que a segunda  1, se a primeira for maior que a segunda

 Arrays podem ter mais de uma dimensão  Arrays de duas dimensões podem ser vistos como tabelas e geralmente são chamados de matrizes  Matrizes são conjuntos de dados arranjados na forma de linhas e colunas  Para identificar um elemento na tabela é necessário indicar a linha e coluna do elemento (célula)

 Declarando arrays de duas dimensões int a[3][4];  Inicializando na declaração int a[2][2] = {{ o,o}, {0,0}};

 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; }

 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ário referenciar a linha e coluna

 Lendo os dados de uma matriz int a[3][4]; for (i=0; i < 3; i++){ for (j=0; j < 4; j++){ cin >> [i][j]; }

 Mostrando os dados de uma matriz 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 }

 Uma busca consiste em saber:  se um dado elemento está no array  quantas ocorrências do elemento procurado existem no array  Exemplo:  Dado um número de candidato, saber se ele está na lista dos aprovados

 Exemplo: … bool achou = false; while (i < TAM){ if (lista[i] == elemento){ achou = true; } i++; }

 Exemplo melhorado: … bool achou = false; while (i < TAM && !achou){ if (lista[i] == elemento){ achou = true; } i++; }