A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:

Apresentações semelhantes


Apresentação em tema: "Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:"— Transcrição da apresentação:

1 Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor: Renato Peixoto Abril/2007

2 2 Vetores e matrizes Matrizes: Array bidimensional (dois índices). Corresponde ao conceito matemático de matriz, com linhas e colunas. O primeiro índice indica a linha e o segundo a coluna. // Declaração de uma matriz com 5 linhas e 20 colunas. double matDouble[5][20];

3 3 Vetores e matrizes Matrizes Supondo que 2 materiais e 3 características de cada um deles estejam armazenadas em uma matriz bidimensional, a representação seria a seguinte: Material 1 Material 2 Características Neste caso, para referenciar ao material 1 e sua característica 3 devemos usar nomeMatriz[0][2]. 0 1 01 2

4 4 Arrays multidimensionais: Vetores e matrizes Declaração tipo identificador[tamanho1][tamanho2]…[tamanhon]; // Declaração de uma matriz de inteiros com 3 dimensões int matInt[10][50][30] ; // Declaração de uma matriz de floats com 4 dimensões float matFloat[100][100][20][6] ;

5 5 Matrizes #include using namespace std; int main(void) { int A[2][3]={2,3,4,5,2,0}; int B[2][3]={0,23,2,4,0,6}; int C[2][3]; // Soma as matrizes. for (int i = 0; i < 2; i++) for (int j = 0; j < 3; j++) C[i][j] = A[i][j] + B[i][j]; // Imprime o resultado. for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) cout << C[i][j] << " "; cout << "\n"; } return(0); }

6 6 Apontadores ( ponteiros ) São variáveis que armazenam endereços de memória. Apontam para o endereço de outras variáveis. Sintaxe: int *p; // p é um ponteiro para inteiro double *x; // x é um ponteiro para double Operadores associados: & retorna o endereço de uma variável. * retorna o conteúdo de um endereço de memória.

7 7 Apontadores ( ponteiros ) #include using namespace std; int main(void) { int a = 10; // cria uma variável inteira a int *p; // cria um ponteiro para inteiro cout << "Valor inicial de a: " << a << "\n"; p = &a; // faz apontar para a *p = 8; // altera o contéudo do endereço apontado por p cout << "Valor do ponteiro p: " << p << "\n"; cout << "Conteudo do endereco apontado por p: " << *p << "\n"; cout << "Valor final de a: " << a << "\n"; return(0); } Valor inicial de a: 10 Valor do ponteiro p: 0x22ff74 Conteudo do endereco apontado por p: 8 Valor final de a: 8

8 8 Apontadores ( ponteiros ) Operações aritméticas: Igualdade p1 = p2 // p1 aponta para o mesmo endereço de p2 *p1 = *p2 // copia o conteúdo de p2 para p1 Incremento e decremento Usandos para percorrer arrays. p++; // p = p + sizeof(tipo_de_p) p--; // p = p - sizeof(tipo_de_p) Na prática p++ faz p apontar para o próximo elemento do array.

9 9 Apontadores ( ponteiros ) Aplicações mais importantes: Alocação dinâmica de memória. Passagem de parâmetros para funções. Alocação dinâmica de memória: Utilizada quando as dimensões de um array são conhecidas apenas durante a execução. Criação de estruturas de dados mais complexas: Pilhas, filas, listas, árvores,... Utilização de classes (herança/polimorfismo).


Carregar ppt "Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:"

Apresentações semelhantes


Anúncios Google