SlideShare uma empresa Scribd logo
1 de 24
Programação I: Arrays
Rodrigo Paes
Instituto de Computação – UFAL
Imagine o seguinte problema
 Calcule a média dos n números dados e
também imprima a relação dos n números
dados
 Solução
 int n1, n2, n3, n4, …, n100
 scanf(“%d”, &n1);
 scanf(“%d”, &n2);
 scanf(“%d”, &n3);
 …
 scanf(“%d”, &n100);
 …
 printf(“%d%d%d%d%d%d …”, n1,n2,n3 …);
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Ou o seguinte problema
 Um sensor informa a
temperatura a cada 30
minutos
 A temperatura está em
Farenheit
 Você deve armazenar as
últimas 48 leituras em
Celsius
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Sua provável solução
float temp1,temp2, temp3, temp4, temp5, temp6,
temp7, temp8, temp9, temp10, temp11, temp12,
temp13, temp14, temp15, temp16, temp17, temp18,
temp19, temp20, temp21, temp22, temp23, temp24,
temp25, temp26, temp27, temp28, temp29, temp30,
temp31, temp32, temp33, temp34, temp35, temp36,
temp37, temp38, temp39, temp40, temp41, temp42,
temp43, temp44, temp45, temp46, temp47, temp48;
scanf(“%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f
%f%f%f%f%f%f%f%f….)
…
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Que tal assim?
 Primeiro problema
int numeros[100];
int i;
for (i =0 ; i < 100; i++)
{
scanf(“%d”, &numeros[ i ] );
}
 Melhor né?
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Arrays
 Uma variável que pode armazenar vários
valores de um mesmo tipo
 Exemplos
 int numeros[2000];
 char palavra[50];
 float notas[30];
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Exercícios
1. Leia 10 números reais em um array “a”
2. Imprima quantos números de “a” são negativos
3. Depois de ler o array, leia mais um número x.
Imprima quantas vezes x apareceu no array
4. Crie e preencha um outro array, “b”. Só que
dessa vez o array é de inteiros. Cada posição
de b indica 1 se o valor lido na mesma posição
do array “a” é positivo e 0 caso contrário.
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Exercícios (cont.)
 Imprima a posição onde se encontra o maior
valor do array “a”. Se houver mais de um valor
maior, devolver a posição da primeira
ocorrência
 Crie um array de inteiros “c”. Coloque somente
a parte inteira dos elementos de “a” em “c”.
 Substitua os elementos de valor ímpar de “c”
por -1 e os pares por +1
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Mais exercícios, agora no huxley:
 Sequência da 10
 Reserva de passagens
 Ordenação Ingênua
 Média de n números
 Matrículas Duplas
 Inverso
 Iguais a n
 Fila de banco
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Arrays bidimensionais
 Suponha
 04 alunos
 04 notas cada
 Suponha que você deve fazer um programa que
armazena as 04 notas de até 10 alunos
rodrigo@ic.ufal.br
Nota 1 Nota 2 Nota 3 Nota 4
Maria 9.5 3.2 2.8 10
José 8 8 7 6
Carlos 5 3 4 2
Luiza 9 9 7 8
Instituto de Computação – UFAL
Arrays bidimensionais
 Você pode usar arrays, com duas dimensões
 4 X 5
 5 X 3
rodrigo@ic.ufal.br
2 X 6
Instituto de Computação – UFAL
Arrays bidimensionais
 Útil para representar matrizes e tabelas
 Declaração
 <tipo> <identificador>[<linhas>][<colunas>];
 Exemplo:
 int tabuleiro[2][4];
 Inicialização
 int tabuleiro[2][4] = { {1,0,1,0}, {1,1,1,1} };
Rodrigo Paes – r0drigopaes@yahoo.com.br
Instituto de Computação – UFAL
Arrays bidimensionais
 int matriz[4][5]
 char matriz[5][3]
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Array bidimensional
 Acesso e atribuição através de índices
int tabuleiro[2][4];
// Atribuindo valores a primeira linha
tabuleiro[0][0] = 0;
tabuleiro[0][1] = 0;
tabuleiro[0][2] = 0;
tabuleiro[0][3] = 0;
// Atribuindo valores a segunda linha
tabuleiro[1][0] = 0;
tabuleiro[1][1] = 0;
tabuleiro[1][2] = 0;
tabuleiro[1][3] = 0;
Rodrigo Paes – r0drigopaes@yahoo.com.br
Instituto de Computação – UFAL
Percorrendo arrays
 Em um array unidimensional podemos fazer
Rodrigo Paes – r0drigopaes@yahoo.com.br
Instituto de Computação – UFAL
Percorrendo arrays
 Já em um array bidimensional, como fazer?
 int meu_array2[5][3];
Rodrigo Paes – r0drigopaes@yahoo.com.br
Instituto de Computação – UFAL
Exercício (para classe) – matriz transposta
 Dada uma matriz qualquer (3 X 4)
 Gere uma matriz (4 X 3 )
 Não precisa usar scanf, declare a matriz 3X4 como uma
variável e a inicialize
 Também declare a matriz 4X3 como uma variável, mas
inicialize ela durante o programa
 Solução: matriz_inverter.c
Rodrigo Paes – r0drigopaes@yahoo.com.br
5 8 7 1
2 4 6 0
9 3 10 11
5 2 9
8 4 3
7 6 10
1 0 11
Instituto de Computação – UFAL
Início da solução
#include<string.h>
#include<stdio.h>
#define LINHAS 3
#define COLUNAS 4
int main()
{
int a[LINHAS][COLUNAS] = {{5,8,7,1},{2,4,6,0},{9,3,10,11}};
int b[COLUNAS][LINHAS];
…
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Exercícios
 Dada uma matriz de inteiros n X n, imprimir nas
seguintes ordens:
rodrigo@ic.ufal.br
1 2 3
4 5 6
7 8 9
1 4 7
2 5 8
3 6 9
1 12 11 1
0
2 13 16 9
3 14 15 8
4 5 6 7
DESAFIO!!
Instituto de Computação – UFAL
Exercícios
 Adição de matrizes
 Dadas duas matrizes de mesmo tipo, A e B,
denomina-se matriz soma (A+B) a matriz obtida
adicionando-se os elementos correspondentes de A e
B.
 Exemplo, dada as matrizes A e B determine A+B.
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Exercícios
 Dada uma matriz, indique se ela é simétrica.
 Uma matriz simétrica é uma matriz quadrada de
ordem n, que satisfaz At = A
 Ou seja, a matriz é igual a sua transposta
 Ou ainda:
 Exemplos
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Exercícios
 Pastelaria da Ambrosina
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Exercícios
 Matrizes
 Posições livres
 Quadrado Mágico
 Multiplicação da Diagonal de uma Matriz
 Mega Damas
 Fábrica de Motores
 Avaliador de jogo da velha
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
LEMBRE DOS PRINCÍPIOS!
Vocabulário
Fluxo
Estado
Incremental
Abstraia
rodrigo@ic.ufal.br

Mais conteúdo relacionado

Semelhante a Arrays Programação I

Laboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca TernáriaLaboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca TernáriaNathan Hartmann
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçaossuserc6132d
 
Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...
Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...
Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...Os Fantasmas !
 
Apostila pre calculo
Apostila pre calculoApostila pre calculo
Apostila pre calculoAndré Tobias
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdfDionatasSantos2
 
Aula 1 - Programação 1
Aula 1 - Programação 1Aula 1 - Programação 1
Aula 1 - Programação 1Isaac Barros
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem cRafael_Lima87
 
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...UFAM - Universidade Federal do Amazonas
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03André Phillip Bertoletti
 
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - MatrizesLoiane Groner
 
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorialblogmaxima
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaFelipe J. R. Vieira
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1Isaac Barros
 
Aula 13 ponteiros - Programação 1
Aula 13 ponteiros - Programação 1Aula 13 ponteiros - Programação 1
Aula 13 ponteiros - Programação 1Isaac Barros
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterFabrício Barth
 

Semelhante a Arrays Programação I (20)

Laboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca TernáriaLaboratório de Algoritmos Avançados: Busca Ternária
Laboratório de Algoritmos Avançados: Busca Ternária
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçao
 
Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...
Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...
Resposta dos Exercícios para Fixar Capítulo 01 à Capítulo 04 Livro Algoritmos...
 
Apostila pre calculo
Apostila pre calculoApostila pre calculo
Apostila pre calculo
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdf
 
Aula 1 - Programação 1
Aula 1 - Programação 1Aula 1 - Programação 1
Aula 1 - Programação 1
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem c
 
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03
 
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
 
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Math
MathMath
Math
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorial
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional Múltipla
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1
 
Ponteiros2
Ponteiros2Ponteiros2
Ponteiros2
 
Aula 13 ponteiros - Programação 1
Aula 13 ponteiros - Programação 1Aula 13 ponteiros - Programação 1
Aula 13 ponteiros - Programação 1
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitter
 

Mais de Isaac Barros

Aula 15 recursao-organizacao-arquivos - Programação 1
Aula 15 recursao-organizacao-arquivos - Programação 1Aula 15 recursao-organizacao-arquivos - Programação 1
Aula 15 recursao-organizacao-arquivos - Programação 1Isaac Barros
 
Aula 14 estruturas - Programação 1
Aula 14 estruturas - Programação 1Aula 14 estruturas - Programação 1
Aula 14 estruturas - Programação 1Isaac Barros
 
Aula 12 funcoes - Programação 1
Aula 12 funcoes - Programação 1Aula 12 funcoes - Programação 1
Aula 12 funcoes - Programação 1Isaac Barros
 
Aula 11 strings - Programação 1
Aula 11 strings - Programação 1Aula 11 strings - Programação 1
Aula 11 strings - Programação 1Isaac Barros
 
Aula 9 repeticao - Programação 1
Aula 9 repeticao - Programação 1Aula 9 repeticao - Programação 1
Aula 9 repeticao - Programação 1Isaac Barros
 
Aula 8 principios_programacao - Programação 1
Aula 8 principios_programacao - Programação 1Aula 8 principios_programacao - Programação 1
Aula 8 principios_programacao - Programação 1Isaac Barros
 
Aula 6 - Programação 1
Aula 6 - Programação 1Aula 6 - Programação 1
Aula 6 - Programação 1Isaac Barros
 
Aula 4 - Programação 1
Aula 4 - Programação 1Aula 4 - Programação 1
Aula 4 - Programação 1Isaac Barros
 
Aula 3 - Programação 1
Aula 3 - Programação 1Aula 3 - Programação 1
Aula 3 - Programação 1Isaac Barros
 
Aula 2 - Programação 1
Aula 2 - Programação 1Aula 2 - Programação 1
Aula 2 - Programação 1Isaac Barros
 
Aula 16 arquivos - Programação 1
Aula 16 arquivos - Programação 1Aula 16 arquivos - Programação 1
Aula 16 arquivos - Programação 1Isaac Barros
 

Mais de Isaac Barros (11)

Aula 15 recursao-organizacao-arquivos - Programação 1
Aula 15 recursao-organizacao-arquivos - Programação 1Aula 15 recursao-organizacao-arquivos - Programação 1
Aula 15 recursao-organizacao-arquivos - Programação 1
 
Aula 14 estruturas - Programação 1
Aula 14 estruturas - Programação 1Aula 14 estruturas - Programação 1
Aula 14 estruturas - Programação 1
 
Aula 12 funcoes - Programação 1
Aula 12 funcoes - Programação 1Aula 12 funcoes - Programação 1
Aula 12 funcoes - Programação 1
 
Aula 11 strings - Programação 1
Aula 11 strings - Programação 1Aula 11 strings - Programação 1
Aula 11 strings - Programação 1
 
Aula 9 repeticao - Programação 1
Aula 9 repeticao - Programação 1Aula 9 repeticao - Programação 1
Aula 9 repeticao - Programação 1
 
Aula 8 principios_programacao - Programação 1
Aula 8 principios_programacao - Programação 1Aula 8 principios_programacao - Programação 1
Aula 8 principios_programacao - Programação 1
 
Aula 6 - Programação 1
Aula 6 - Programação 1Aula 6 - Programação 1
Aula 6 - Programação 1
 
Aula 4 - Programação 1
Aula 4 - Programação 1Aula 4 - Programação 1
Aula 4 - Programação 1
 
Aula 3 - Programação 1
Aula 3 - Programação 1Aula 3 - Programação 1
Aula 3 - Programação 1
 
Aula 2 - Programação 1
Aula 2 - Programação 1Aula 2 - Programação 1
Aula 2 - Programação 1
 
Aula 16 arquivos - Programação 1
Aula 16 arquivos - Programação 1Aula 16 arquivos - Programação 1
Aula 16 arquivos - Programação 1
 

Arrays Programação I

  • 2. Instituto de Computação – UFAL Imagine o seguinte problema  Calcule a média dos n números dados e também imprima a relação dos n números dados  Solução  int n1, n2, n3, n4, …, n100  scanf(“%d”, &n1);  scanf(“%d”, &n2);  scanf(“%d”, &n3);  …  scanf(“%d”, &n100);  …  printf(“%d%d%d%d%d%d …”, n1,n2,n3 …); rodrigo@ic.ufal.br
  • 3. Instituto de Computação – UFAL Ou o seguinte problema  Um sensor informa a temperatura a cada 30 minutos  A temperatura está em Farenheit  Você deve armazenar as últimas 48 leituras em Celsius rodrigo@ic.ufal.br
  • 4. Instituto de Computação – UFAL Sua provável solução float temp1,temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9, temp10, temp11, temp12, temp13, temp14, temp15, temp16, temp17, temp18, temp19, temp20, temp21, temp22, temp23, temp24, temp25, temp26, temp27, temp28, temp29, temp30, temp31, temp32, temp33, temp34, temp35, temp36, temp37, temp38, temp39, temp40, temp41, temp42, temp43, temp44, temp45, temp46, temp47, temp48; scanf(“%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f %f%f%f%f%f%f%f%f….) … rodrigo@ic.ufal.br
  • 5. Instituto de Computação – UFAL Que tal assim?  Primeiro problema int numeros[100]; int i; for (i =0 ; i < 100; i++) { scanf(“%d”, &numeros[ i ] ); }  Melhor né? rodrigo@ic.ufal.br
  • 6. Instituto de Computação – UFAL Arrays  Uma variável que pode armazenar vários valores de um mesmo tipo  Exemplos  int numeros[2000];  char palavra[50];  float notas[30]; rodrigo@ic.ufal.br
  • 7. Instituto de Computação – UFAL Exercícios 1. Leia 10 números reais em um array “a” 2. Imprima quantos números de “a” são negativos 3. Depois de ler o array, leia mais um número x. Imprima quantas vezes x apareceu no array 4. Crie e preencha um outro array, “b”. Só que dessa vez o array é de inteiros. Cada posição de b indica 1 se o valor lido na mesma posição do array “a” é positivo e 0 caso contrário. rodrigo@ic.ufal.br
  • 8. Instituto de Computação – UFAL Exercícios (cont.)  Imprima a posição onde se encontra o maior valor do array “a”. Se houver mais de um valor maior, devolver a posição da primeira ocorrência  Crie um array de inteiros “c”. Coloque somente a parte inteira dos elementos de “a” em “c”.  Substitua os elementos de valor ímpar de “c” por -1 e os pares por +1 rodrigo@ic.ufal.br
  • 9. Instituto de Computação – UFAL Mais exercícios, agora no huxley:  Sequência da 10  Reserva de passagens  Ordenação Ingênua  Média de n números  Matrículas Duplas  Inverso  Iguais a n  Fila de banco rodrigo@ic.ufal.br
  • 10. Instituto de Computação – UFAL Arrays bidimensionais  Suponha  04 alunos  04 notas cada  Suponha que você deve fazer um programa que armazena as 04 notas de até 10 alunos rodrigo@ic.ufal.br Nota 1 Nota 2 Nota 3 Nota 4 Maria 9.5 3.2 2.8 10 José 8 8 7 6 Carlos 5 3 4 2 Luiza 9 9 7 8
  • 11. Instituto de Computação – UFAL Arrays bidimensionais  Você pode usar arrays, com duas dimensões  4 X 5  5 X 3 rodrigo@ic.ufal.br 2 X 6
  • 12. Instituto de Computação – UFAL Arrays bidimensionais  Útil para representar matrizes e tabelas  Declaração  <tipo> <identificador>[<linhas>][<colunas>];  Exemplo:  int tabuleiro[2][4];  Inicialização  int tabuleiro[2][4] = { {1,0,1,0}, {1,1,1,1} }; Rodrigo Paes – r0drigopaes@yahoo.com.br
  • 13. Instituto de Computação – UFAL Arrays bidimensionais  int matriz[4][5]  char matriz[5][3] rodrigo@ic.ufal.br
  • 14. Instituto de Computação – UFAL Array bidimensional  Acesso e atribuição através de índices int tabuleiro[2][4]; // Atribuindo valores a primeira linha tabuleiro[0][0] = 0; tabuleiro[0][1] = 0; tabuleiro[0][2] = 0; tabuleiro[0][3] = 0; // Atribuindo valores a segunda linha tabuleiro[1][0] = 0; tabuleiro[1][1] = 0; tabuleiro[1][2] = 0; tabuleiro[1][3] = 0; Rodrigo Paes – r0drigopaes@yahoo.com.br
  • 15. Instituto de Computação – UFAL Percorrendo arrays  Em um array unidimensional podemos fazer Rodrigo Paes – r0drigopaes@yahoo.com.br
  • 16. Instituto de Computação – UFAL Percorrendo arrays  Já em um array bidimensional, como fazer?  int meu_array2[5][3]; Rodrigo Paes – r0drigopaes@yahoo.com.br
  • 17. Instituto de Computação – UFAL Exercício (para classe) – matriz transposta  Dada uma matriz qualquer (3 X 4)  Gere uma matriz (4 X 3 )  Não precisa usar scanf, declare a matriz 3X4 como uma variável e a inicialize  Também declare a matriz 4X3 como uma variável, mas inicialize ela durante o programa  Solução: matriz_inverter.c Rodrigo Paes – r0drigopaes@yahoo.com.br 5 8 7 1 2 4 6 0 9 3 10 11 5 2 9 8 4 3 7 6 10 1 0 11
  • 18. Instituto de Computação – UFAL Início da solução #include<string.h> #include<stdio.h> #define LINHAS 3 #define COLUNAS 4 int main() { int a[LINHAS][COLUNAS] = {{5,8,7,1},{2,4,6,0},{9,3,10,11}}; int b[COLUNAS][LINHAS]; … rodrigo@ic.ufal.br
  • 19. Instituto de Computação – UFAL Exercícios  Dada uma matriz de inteiros n X n, imprimir nas seguintes ordens: rodrigo@ic.ufal.br 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9 1 12 11 1 0 2 13 16 9 3 14 15 8 4 5 6 7 DESAFIO!!
  • 20. Instituto de Computação – UFAL Exercícios  Adição de matrizes  Dadas duas matrizes de mesmo tipo, A e B, denomina-se matriz soma (A+B) a matriz obtida adicionando-se os elementos correspondentes de A e B.  Exemplo, dada as matrizes A e B determine A+B. rodrigo@ic.ufal.br
  • 21. Instituto de Computação – UFAL Exercícios  Dada uma matriz, indique se ela é simétrica.  Uma matriz simétrica é uma matriz quadrada de ordem n, que satisfaz At = A  Ou seja, a matriz é igual a sua transposta  Ou ainda:  Exemplos rodrigo@ic.ufal.br
  • 22. Instituto de Computação – UFAL Exercícios  Pastelaria da Ambrosina rodrigo@ic.ufal.br
  • 23. Instituto de Computação – UFAL Exercícios  Matrizes  Posições livres  Quadrado Mágico  Multiplicação da Diagonal de uma Matriz  Mega Damas  Fábrica de Motores  Avaliador de jogo da velha rodrigo@ic.ufal.br
  • 24. Instituto de Computação – UFAL LEMBRE DOS PRINCÍPIOS! Vocabulário Fluxo Estado Incremental Abstraia rodrigo@ic.ufal.br