Algoritmo e Estrutura de Dados I Aulas 14 – Linguagem C Matriz Márcia Marra

Slides:



Advertisements
Apresentações semelhantes
Centro Integrado de Tecnologia da Informação
Advertisements

Laboratório de programação III Linguagem C
V Procedimentos – são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento é chamado. v Funções – são procedimentos.
Programação II Estruturas de Dados Aula 01
Programação II Estruturas de Dados
Programação para Engenharia I
ICC – Matrizes Jorge Macêdo.
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.
Curso de C/C++ Avançado
Linguagem C Strings.
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Ponteiros em Linguagem C
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Matrizes e Funções - Continuação
Fundamentos de Programação 1
Ponteiros.
VETORES, STRINGS E MATRIZES
Revisão da Linguagem C.
O Portal do Estudante de Computação
O Portal do Estudante de Computação
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Estrutura de Dados Avançada
Ameliara Freire O comando de entrada de dados é utilizado quando desejamos fornecer um valor para um nosso programa. Os dispositivos.
Curso de Nivelamento LCG
1 Ponteiros Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo type é type *x; Essa.
CADEIA DE CARACTERES (Strings)
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
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
Linguagem C : Ponteiros
Aula 10 - Armazenamento de Dados em Registros
Vetores e Matrizes Ameliara Freire
Algoritmo e Programação
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Uso de parâmetros na linha de comando. Parâmetros da função main:
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
STRINGS Dilvan Moreira (baseado no livro Big Java e Z. Liang)
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Ponteiros.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Algoritmo e Estrutura de Dados I Aulas 12 – Linguagem C Strings Márcia Marra
Linguaguem de Programação II
Linguagem de Programação II
Estrutura de Dados Revisão Professor Luiz José Hoffmann Filho
Estruturas Homogêneas – Vetores e Matrizes
Linguaguem de Programação II
Profa. Maria Augusta Constante Puget
Algoritmo e Estrutura de Dados I Aulas 15 – Linguagem C Alocação Dinâmica de Memória Márcia Marra
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Funções.
Linguagem de Programação
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Aula Prática 6 Ponteiros Monitoria  Quando declaramos uma matriz:  tipo meuArray[tam];  O compilador aloca a matriz em uma região de memória.
Estrutura de Dados STRUCTS Dilvan Moreira. Objetivos  Entender o que são e como usar:  Estrutura de Dados para a Linguagem C  Structs (Registros)
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.
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
Estruturas Homogêneas - Matrizes
Transcrição da apresentação:

Algoritmo e Estrutura de Dados I Aulas 14 – Linguagem C Matriz Márcia Marra

2 Declaração de Matrizes A forma geral da declaração de uma matriz bidimensional é muito parecida com a declaração de um vetor: tipo nome_da_variável [altura][largura]; O índice da esquerda indexa as linhas e o da direita indexa as colunas; Quando vamos preencher ou ler uma matriz no C o índice mais à direita varia mais rapidamente que o índice à esquerda.

3 Exemplo 1 #include int main () { int mtrx [20][10]; int i,j,count; count=1; for (i=0;i<20;i++) for (j=0;j<10;j++) { mtrx[i][j]=count; count++; printf("\nLinha:%d Col:%d INT:%d",i,j,mtrx[i][j]); } printf("\n"); return(0); }

4 Execução do Exemplo 1

5 Matrizes de Strings Matrizes de strings são matrizes bidimensionais. Imagine uma string - ela é um vetor. Se fizermos um vetor de strings estaremos fazendo uma lista de vetores. Esta estrutura é uma matriz bidimensional de chars.

6 Matriz de Strings A forma geral de uma matriz de strings é: char nome_var[num_strings][compr_strings]; Aí surge a pergunta: como acessar uma string individual? Fácil. É só usar apenas o primeiro índice. Então, para acessar uma determinada string basta fazer: nome_da_variável [índice]

7 Exemplo de matriz de string #include int main () { char strings [5][100]; int count; for (count=0;count<5;count++){ printf ("\nDigite uma string: "); gets (strings[count]); } printf ("\n\nAs strings que voce digitou foram:\n\n"); for (count=0;count<5;count++) printf ("%s\n",strings[count]); return(0); }

8 Execução

9 Matriz de Strings O que estamos fazendo na verdade é utilizando um ponteiro para apontar para diversos endereços de strings. String 1 String 2 String 3 String 4 String 5 ppch pch ppch[0], ppch[1], ppch[2], ppch[3]

10 E qual a utilidade disto? Um dos usos mais comuns para matrizes de strings são os argumentos para linha de comandos. Dado um programa corretamente compilado, como fazer para passar argumentos para ele?./teste 2 3

11 Passagem de parâmetros para a função main Com o objetivo de passar parâmetros para a função main, você deve utilizar o seguinte protótipo: int main(int argc, char **argv) OU int main(int argc, char *argv[]) Onde: -argc: é o número de argumentos digitados, incluindo o nome do programa -argv: é uma matriz de strings que armazena cada argumento da linha de comando, incluindo o nome do programa.

12 Exemplo #include int main (int argc, char **argv) { int i; printf("argc = %d\n\n",argc); for (i=0;i<argc;++i) printf("argv[%d]: %s\n", i, argv[i]); return(0); }

13 Execução

14 Matrizes multidimensionais O uso de matrizes multidimensionais na linguagem C é simples. Sua forma geral é: tipo_da_variável nome_da_variável [tam1][tam2]... [tamN]; Uma matriz N-dimensional funciona basicamente como outros tipos de matrizes.

15 Inicialização de Matrizes Podemos inicializar matrizes, assim como podemos inicializar varíáveis. A forma geral de uma matriz como inicialização é: tipo nome_da_variável [tam1][tam2]... [tamN] = {lista_de_valores}; A lista de valores é composta por valores (do mesmo tipo da variável) separados por vírgula.

16 Inicialização de Matrizes Os valores devem ser dados na ordem em que serão colocados na matriz. Alguns exemplos: float vect [6] = { 1.3, 4.5, 2.7, 4.1, 0.0, }; int matrx [3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; char str [10] = { 'J', 'o', 'a', 'o', '\0' }; char str [10] = "Joao"; char str_vect [3][10] = { "Joao", "Maria", "Jose" };

17 Inicialização sem especificação de tamanho Podemos, em alguns casos, inicializar matrizes das quais não sabemos o tamanho a priori. O compilador C verifica o tamanho do que você declarou e considera este como sendo o tamanho da matriz. Exemplos: char mess [] = "Linguagem C: flexibilidade e poder."; int matrx [][2] = { 1,2,2,4,3,6,4,8,5,10 };

18 Pratique! # include int main() { int t, i, M[3][4]; for (t=0; t<3; ++t) for (i=0; i<4; ++i) M[t][i] = (t*4)+i+1; for (t=0; t<3; ++t) { for (i=0; i<4; ++i) printf ("%3d ", M[t][i]); printf ("\n"); } return(0); }

19 Solução

20 Teste Surpresa Escreva um trecho de código que imprima os caracteres da string s na ordem inversa, ou seja, de trás para frente, utilizando apenas as variáveis declaradas abaixo. char s[10] = "abcde"; char *cptr; // Escreva aqui o seu código