Programação científica C++

Documentos relacionados
Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br

Aula 06 Introdução à Programação Matrizes

Fundamentos de Programação

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

Exercícios: Vetores e Matrizes

Algoritmos e Programação

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

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

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

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Estruturas Homogêneas Vetores e Matrizes. Givanaldo Rocha

Matrizes. DCC 119 Algoritmos

Algoritmos e Programação

Estruturas Homogêneas II (Matrizes)

Aula 20: Matrizes (Parte 2)

LISTA DE EXERCÍCIOS 2

Aula 10: Introdução a Vetores e Matrizes

Laboratório de Programação A Exercícios sobre vetores e matrizes

5ª Lista de Exercícios de Programação I

Matrizes. Estruturas de Dados Aula 5: Matrizes. Vetor declaração estática. Vetor declaração dinâmica

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Estruturas de Dados Aula 5: Matrizes 23/03/2011

Programação I Matrizes e Strings. Prof. Carlos Alberto

Vetores e Matrizes. Prof. Fabrício Olivetti de França Charles Henrique

Aula 25: Funções com Arrays

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

Programação: Vetores

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

1 Resumo: Matrizes. 2.1 Como declarar uma matriz IME/USP. Departamento de Ciência da Computação

Lista 2 TP060. Exercícios Vetores

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

Aula 10: Manipulação do fluxo de laços

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

Computação 2. Aula 2. Profª. Fabiany Vetores e Matrizes

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

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

Aula 7 Estrutura de Repetição e Matrizes

CCO 016 / COM 110 Fundamentos de Programação

GEQ Prof. Paulo R. Coelho. Lista para prova

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

Fundamentos de Programação de Computadores Linguagem C Vetor Unidade 09 Linguagem C - Vetor 1/16

MATRIZES - PARTE Mais exemplos Multiplicação de duas matrizes AULA 26

Disciplina de Algoritmos e Programação

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

Universidade Federal de Goiás Instituto de Informática Introdução à Computação Professor: Julliano Rosa Nascimento

Programação científica C++

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

4ª Lista de Exercícios de Programação I

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

Exercícios sobre algoritmos

Alocação Dinâmica em C

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

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

12 - Dados Estruturados Vetores, Matrizes e Strings

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU

ALOCAÇÃO DINÂMICA DE MEMORIA Lista 10. A linguagem C/C++ possui recursos para alocação dinâmica de memoria.

Matrizes (Vetores Bidimensionais)

4ª Lista de Exercícios de Programação I

Universidade de São Paulo

LINGUAGEM C VETOR E MATRIZ

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

Linguagem C ESTRUTURA DE CONTROLE

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

Faculdades Integradas Rui Barbosa Programação II Prof. Marcos Antonio Estremote. Exercícios com Vetores e Matrizes

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

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

Questão 1. Nome para o arquivo fonte questao1.c

Métodos Computacionais. Vetores e Matrizes Dinâmicas

Exercícios V1 = V2 = V1 = V2 =

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

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

7. Vetores e Matrizes

Transcrição:

Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 6

Exercício 1 Dados dois vetores com n (n <= 50) componentes cada um, calcular e imprimir a soma deles.

Exercício 2 Leia um conjunto com n (n <= 20) números e informe se existe algum elemento repetido no conjunto.

Exercício 3 Leia n (n <= 30) números quaisquer e imprima-os sem repetições. Exemplo: Entrada: 1,1,3,4,3,5,-8 Saída: 1,3,4,5,-8

Exercício 4 Dadas duas seqüências com n (n <= 100) números inteiros entre 0 e 9, interpretadas como dois números inteiros de n algarismos, calcular a seqüência de números que representa a soma dos dois inteiros. Exemplo: n=8 1ª seqüência 82434251 2ª seqüência + 3 3 7 5 2 3 3 7 = 1 1 6 1 8 6 5 8 8

Exercício 5 Faça um programa para imprimir as n (n <= 100) primeiras linhas do triângulo de Pascal usando apenas um vetor, com o valor de n fornecido pelo usuário. Triângulo de Pascal para n = 6: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 51

Matrizes Em C++, as matrizes podem ser: Unidimensionais (vetores) Multidimensionais (duas ou mais dimensões) As matrizes são armazenadas de forma linear int m[4][3]; Declaração de uma matriz de duas dimensões com 4 linhas e 3 colunas

Memória Modelo abstrato int dados[3][3];

Armazenamento de uma matriz Os índices em C++ SEMPRE começam em 0, cuidado!!! linhas colunas 5 10 15 20 25 30 35 40 45 50 55 60 Endereço Valor 100... 104 5 108 10 112 15 116 20 120 25 124 30 128 35 132 40 136 45 140 50 144 55 148 60 152... m[0][0] m[0][1] m[0][2] m[1][0] m[1][1] m[1][2] m[2][0] m[2][1] m[2][2] m[3][0] m[3][1] m[3][2]

Matrizes bidimensionais Matrizes de duas dimensões são vetores em que os elementos são outros vetores. Os elementos de uma matriz bidimensional são acessados com indexação dupla: o primeiro índice acessa a linha e o segundo acessa a coluna. m[0][0] m[1][2] Acessa o elemento da primeira linha e primeira coluna Acessa o elemento da segunda linha e terceira coluna

Matrizes e estruturas de repetição Vetores têm somente uma dimensão. Vetores utilizavam uma estrutura de repetição para percorrê-los. Matrizes bidimensionais têm duas dimensões (linha e coluna)... logo?

Matrizes e estruturas de repetição Vetores têm somente uma dimensão. Vetores utilizavam uma estrutura de repetição para percorrê-los. Matrizes bidimensionais têm duas dimensões (linha e coluna)... logo? Matrizes bidimensionais precisam de duas estruturas de repetição, uma para a linha e outra para a coluna.

Matrizes e estruturas de repetição Vetor int i,dados[3]; for(i=0;i<3,i++){ cin >> dados[i]; Matrizes int i,j,dados[3][5]; for(i=0; i<3 ;i++){ for(j=0; j<5 ; j++){ cin>>[i][j]; O for mais externo (onde está a variável i) é responsável pelas linhas. O for mais interno (onde está a variável j) é responsável pelas colunas.

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; i = 0 j = 0 dados[0][0]

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; 5 i = 0 j = 0 dados[0][0]

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; 5 8 i = 0 j = 1 dados[0][1]

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; 5 8 11 i = 0 j = 2 dados[0][2]

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; i = 1 j = 0 dados[1][0] 5 8 11 34

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; i = 1 j = 1 dados[1][1] 5 8 11 34 12

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; i = 1 j = 2 dados[1][2] 5 8 11 34 12 2

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; i = 2 j = 0 dados[2][0] 5 8 11 34 12 2 26

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; i = 2 j = 1 dados[2][1] 5 8 11 34 12 2 26 77

int i,j,dados[3][3]; for(i=0; i<3; i++){ for(j=0; j<3 ; j++){ cin>>dados[i][j]; i = 2 j = 2 dados[2][2] 5 8 11 34 12 2 26 77 54

int main(){ int m[3][4], i, j; for(i=0; i<3; i++) for(j=0; j<4; j++) m[i][j] = (i*4)+j+1; for(i=0; i<3; i++) { for(j=0; j<4; j++) O que imprime o programa ao lado? cout << m[i][j] << ; cout << endl; return 0;

int main(){ int m[3][4], i, j; for(i=0; i<3; i++) for(j=0; j<4; j++) m[i][j] = (i*4)+j+1; for(i=0; i<3; i++) { for(j=0; j<4; j++) O que imprime o programa ao lado? cout << m[i][j] << ; cout << endl; return 0;

Inicialização de matrizes As três formas a seguir podem ser usadas: int m[4][3] = {{1,2,3, {4,5,6, {7,8,9, {10,11,12; int m[4][3] = {1,2,3,4,5,6,7,8,9,10,11,12; int m[ ][3] = {1,2,3,4,5,6,7,8,9,10,11,12; O número de colunas deve ser sempre fornecido.

Espaço ocupado por uma matriz bidimensional número de bytes = tamanho da 1ª dimensão * tamanho da 2ª dimensão * sizeof(tipo) int m[4][3]; A matriz m ocupa 48 bytes na memória.

Matrizes multidimensionais O número máximo de dimensões depende do compilador. A forma geral da declaração é: tipo nome[tamanho1][tamanho2]...[tamanhon]; int m[4][3][6][5]; A matriz m ocupa 1440 bytes.

Usando matrizes de 3 dimensões int tres[3][2][4] = { { {1,2,3,4, {5,6,7,8, { {7,9,3,2, {4,6,8,3, { {7,2,6,3, {0,1,9,4 ; Como acessar o único valor zero armazenado na matriz acima?

Usando matrizes de 3 dimensões int tres[3][2][4] = { { {1,2,3,4, {5,6,7,8, { {7,9,3,2, {4,6,8,3, { {7,2,6,3, {0,1,9,4 ; tres[2][1][0] terceiro grupo (elemento) primeiro dos 4 números segundo elemento do terceiro grupo

Exercício Mostre em uma matriz 3x3 os 9 primeiros números pares.

int i,j,matrix[3][3],cont=0; for(i=0; i<3 ; i++){ for(j=0; j<3 ; j++){ matrix[i][j] = cont; cont += 2; for(i=0; i<3 ; i++){ for(j=0; j<3 ; j++){ cout << matrix[i][j]<< ; cout<<endl;

Exercício Dado um número n (n<=30), o programa deverá criar uma matriz identidade para a dimensão n.

int i,j,matrix[30][30],n; Cout << Digite o valor de n ; Cin >> n; for(i=0; i<n ; i++){ for(j=0; j<n ; j++){ if(i==j){matrix[i][j]=1; else {matrix[i][j]=0; for(i=0; i<n ; i++){ for(j=0; j<n ; j++){ cout << matrix[i][j]<< ; cout<<endl;

Para casa: Em uma excursão de uma agência de viagem existem quatro ônibus (1, 2, 3 e 4) e cada ônibus tem 16 cadeiras para passageiros. Faça um programa que realize as reservas dos passageiros baseados no número do ônibus e no número da cadeira(considere apenas que números válidos serão inseridos). Caso o Local esteja vazio, deve ser reservado, caso esteja ocupado, exibir uma mensagem de Cadeira Ocupada. A cada inserção (bem sucedida ou não), o programa perguntará se usuário quer realizar uma nova reserva ou se deseja finalizar o programa.

Exercício 1 Dada uma matriz bidimensional de dimensão MxN, calcular e imprimir a matriz transposta. O usuário deve fornecer os tamanhos da matriz e, em seguida, os elementos da matriz. Observação: M, N <= 30 M e N devem ser lidos.

Exercício 2 Determinar se uma matriz NxN é uma matriz de permutação. Uma matriz quadrada é chamada de matriz de permutação se seus elementos são apenas 0 s e 1 s e se em cada linha e coluna da matriz existe apenas um único valor 1. Exemplo: A matriz ao lado é uma matriz de permutação. Observação: N <= 30 N deve ser lido. 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0

Exercício 3 Dadas duas matrizes A (M x N) e B (K x L) reais, encontrar e escrever uma matriz C (M x L) onde C é obtida pelo produto de A por B (C = A x B). Observação: M <= 30, N <= 40, K <= 40, L <= 50 M, N, K, L devem ser lidos. EX:

Exercício 4 Dizemos que uma matriz quadrada inteira é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos das diagonais principal e secundária são todas iguais. Dada uma matriz quadrada A nxn, verificar se A é um quadrado mágico é um quadrado mágico

Exercício 5 (POLI 94) Os elementos a ij de uma matriz inteira A nxn representam os custos de transporte da cidade i para a cidade j. Dados uma matriz de custos A nxn e n (n <= 100) itinerários, cada um com k (k <= 30) cidades, calcular o custo total para cada itinerário. Exemplo: O custo do itinerário 0 3 1 3 3 2 1 0 é a 03 +a 31 +a 13 +a 33 +a 32 +a 21 +a 10 = 3 + 1 + 400 + 5 + 2 + 1 + 5 = 417