LINGUAGEM C++ Prof. Bruno Gomes ESTRUTURAS DE DADOS HOMOGÊNEAS PARTE II - MATRIZES. Currais Novos, 2011

Documentos relacionados
Aula 9 Matrizes Cleverton Hentz

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

Aula 8 Vetores Cleverton Hentz

Fundamentos de Programação

Algoritmos e Programação

Programação científica C++

Algoritmos e Programação

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Capítulo 7 Matriz. Roteiro

Matrizes. DCC 119 Algoritmos

LINGUAGEM C VETOR E MATRIZ

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Matrizes. Para começar... Matrizes. Matrizes

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

Fundamentos de Programação 1

CCO 016 / COM 110 Fundamentos de Programação

Dados Estruturados Vetores e Matrizes. SCC120 - Introdução à Ciência de Computação

PROGRAMAÇÃO A. Matrizes

Linguagem C vetores. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

Programação: Vetores

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Aula 10: Introdução a Vetores e Matrizes

Aula 7 Estrutura de Repetição e Matrizes

Estrutura do programa

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

Introdução a Computação

Estruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

Noções de algoritmos - Aula 1

Linguagem C vetores multidimensionais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Matrizes. Prof. Alex Camargo

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

Introdução à Ciência da Computação. Sumário. Estruturas de Dados. Agradecimentos. Arranjos: Vetores, Strings & Matrizes em C

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Tipo m= matriz [ l i1 : l s1, l i2 : l s2 ] <tipo básico> m: mat

Laboratório de Programação II

Computação Informática

Lógica de Programação e Algoritmos

Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.

Vetores. e o programa deverá ler os valores separadamente:

Prof. A. G. Silva. 25 de abril de Prof. A. G. Silva INE5231 Computação Científica I 25 de abril de / 68

Aula 8 Comandos de Seleção

Departamento de Sistemas de Computação Universidade de São Paulo Laboratório de Introdução a Ciência de Computação I.

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Aula 26: Estruturas heterogêneas

Linguagem de Programação

Algoritmos - 6. Alexandre Diehl. Departamento de Física - UFPel

Matrizes (Vetores Bidimensionais)

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Aula 4: Introdução à Linguagem C++

Introdução a Programação de Jogos

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void

CONCEITOS DE ALGORITMOS

Exercícios Repetição

Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.

Linguagem C. Programação Estruturada. Estrutura de Dados Homogêneas. Prof. Luis Nícolas de Amorim Trigo

Matrizes. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 67

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

7. Vetores e Matrizes

Linguagem C: while e do-while

Introdução à Programação

Programação de Computadores

ALGORITMOS AULA 2. Profª Amanda Gondim

Algoritmos e Estruturas de Dados. Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras PURO

LISTA DE EXERCÍCIOS 2

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

Conceitos Básicos Linguagem C

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Linguagem de Programação C++

Métodos Computacionais. Vetores e Matrizes Dinâmicas

1 - VARIÁVEIS COMPOSTAS HOMOGÊNEAS (VETORES E MATRIZES)

Computação eletrônica:

Aula 10 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

Algoritmos e Estruturas de Dados

CURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Ordenação Revisão para a prova

Arrays (Vetores) Arrays (Vetores) 28/04/ Índices. profs. } Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo tempo... é melhor...

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

Programação de Computadores II

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

Introdução a Linguagem C (Parte I) UFPA Sistemas de Informação. Roberto Araujo 2013

Aula 11: Modularização

Matrizes. Marina Andretta. 17 de abril de 2017 ICMC-USP. Marina Andretta (ICMC-USP) sme0230-ipc 17 de abril de / 30

Aula 04. Agregados Homogêneos. Agregados Heterogêneos. Matrizes

Linguagem C ESTRUTURA DE CONTROLE

LINGUAGEM C: ESTRUTURAS DEFINIDAS PELO

Transcrição:

LINGUAGEM C++ ESTRUTURAS DE DADOS HOMOGÊNEAS PARTE II - MATRIZES Prof. Bruno Gomes (bruno.gurgel@ifrn.edu.br) Currais Novos, 2011

INTRODUÇÃO Na aula anterior, definimos a estrutura vetor Variável composta por elementos de um mesmo tipo Estrutura linear os elementos do vetor podem ser representada como uma linha, um do lado do outro. Iremos ver nesta aula as matrizes Semelhança com o tipo vetor Elementos do mesmo tipo Matrizes possuem um índice a mais, ou seja, duas dimensões (linhas e colunas) Representação dos elementos como uma tabela

INTRODUÇÃO Alguns problemas adequados para o uso de matrizes ( estrutura em linhas e colunas) 1. A representação de objetos em um espaço bidimensional (eixos x e y); 2. Tabuleiros de jogos como xadrez ou damas; 3. Matrizes da matemática; 4. Um bilhete de um jogo de loteria, dentre outros.

DECLARAÇÃO DE MATRIZES <tipo> <identificador>[<tam_linha>][<tam_col>] Onde: <identificador> - Nome da variável matriz; <tam_linha> - Quantidade deelementos dalinha. - definida na declaração e não pode ser modificada posteriormente noprograma; <tam_col> - Quantidade deelementos dacoluna. - definida na declaração e não pode ser modificada posteriormente no programa. <tipo> - Qualquer tipo de dados válido na linguagem C++;

EXEMPLOS float mat1[10][10]; int x[15][15], y[20][20]; bool achou[5][5]; char nomes[15][15] ;

EXEMPLO float algoritmos [2][10]; Uma matriz que representa as notas de 2 turmas de algoritmos com no máximo 10 alunos em cada turma Representação gráfica (uma tabela 2 por 10): 0 1 2 3 4 5 6 7 8 9 0 1

OPERAÇÕES COM MATRIZES - ACESSO Assim como para vetores, não podemos operar uma matriz diretamente apenas pelo seu nome. Por exemplo: pares[2][2] = 4 (CORRETO!) pares = 8 (ERRADO!). As operações devem ser feitas com cada par linhacoluna da matriz, utilizando o índice da linha e coluna correspondente Exemplos: pares[0][0] = 2 (CERTO!) pares[0][1] = 4 (CERTO!) pares[1][0] = 2 + 4 (CERTO!) pares[1][1] = pares[0][1] + 5 (CERTO!)

ACESSO AOS ELEMENTOS DA MATRIZ OBS. 1: Qualquer expressão que resulte em um inteiro positivo pode ser utilizada como índice OBS. 2: É um erro tentar acessar um elemento que esteja fora da faixa reservada para a matriz. Exemplos: x[i][j] índices representados pelos inteiros i e j. x[2][3] Acesso ao elemento da linha 3 e da coluna 4 de uma matriz. mat[i + 1][j -1] O índice para acesso aos elementos de uma matriz pode ser qualquer expressão inteira entre 0 e o número máximo de elementos 1 (menos 1), Tanto para a linha quanto para a coluna.

ATRIBUIÇÃO DE VALORES Quando se declara uma nova matriz, os seus elementos são indeterminados ou vazios Deve-se inicializar cada elemento da matriz antes da sua utilização Podemos inicializar a matriz por atribuição (operador =) ou por leitura (instrução cin). Na atribuição, como vimos anteriormente, não podemos utilizar o nome da matriz diretamente Referência a cada posição da matriz (linha e coluna).

INICIALIZAÇÃO POR ATRIBUIÇÃO Para colocarmos elementos em uma matriz, normalmente utilizamos duas estruturas de repetição, uma dentro da outra A primeira percorre cada linha; A segunda percorre cada elemento da coluna para aquela linha. Exemplo: for (int i = 0; i < 2; i++) { for (int j = 0; j < 10; i++) { algoritmos[i][j] = 0;

EXEMPLO Inicialização da matriz x[10, 10] : Inteiro. No caso, a inicialização abaixo atribui o valor 1 quando o índice da linha for igual ao índice da coluna e 0 caso contrário. Qual o nome dessa matriz na matemática, quando a matriz é quadrada????? for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; i++) { if (i == j) { x[i][j] = 1; x[i][j] = 0;

LEITURA DE ELEMENTOS PARA A MATRIZ A leitura dos elementos de uma matriz deve ser feita elemento por elemento percorre-se todas as colunas para cada linha No exemplo abaixo, vemos a leitura de dados para uma matriz chamada tabela. for (int i = 0; i < 4; i++) { for (int j = 0; j < 6; i++) { cin >> tabela [i][j];

EXEMPLO LENDO APENAS ELEMENTOS POSITIVOS PARA UMA MATRIZ cout << Digite números positivos: ; for (int i = 0; i <= p; i++) { for (int j = 0; j <= p; i++) { do { cout << Atenção! Número positivo: ; cin >> x; while (x > 0); matriz[a][b] = x;

ESCRITA A escrita de matrizes também é feita elemento por elemento, de forma semelhante à leitura Utilizamos a instrução cout Exemplo: for (int i = 0; i < 4; i++) { for (int j = 0; j < 6; i++) { cout << tabela [i][j];

EXERCÍCIOS 1. Calcular a soma dos elementos de uma matriz numérica de tamanho qualquer (n x m) que estão na diagonal principal. 2. A transposta de uma matriz é obtida quando os elementos de cada linha da matriz tornam-se elementos da coluna. Ou, formalmente: m T ij = m ji, onde m são os elementos de uma matriz. Faça um algoritmo que leia uma matriz 3x3 e retorne a sua transposta.