computação eletrônica vetores e matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – ex:...
TRANSCRIPT
![Page 1: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/1.jpg)
CIn.ufpe.br
ComputaçãoEletrônicaVetoreseMatrizes
Prof:LucianoBarbosa
![Page 2: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/2.jpg)
CIn.ufpe.br
Recapitulando:Funções
2
![Page 3: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/3.jpg)
CIn.ufpe.br
Recapitulando:FunçãoVoid
3
![Page 4: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/4.jpg)
CIn.ufpe.br
Recapitulando:EscopodasVariáveis
4
Avariáveldeescopolocalnamain,sobrepõe
adeescopoglobal
Referênciaàvariávellocal
Referênciaàvariávelglobal
![Page 5: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/5.jpg)
CIn.ufpe.br
Vetores
• Atéagora:variáveleconstante• Armazenarcentenasdevalores->criarcentenasdevariáveis
– Nãoéumaboasolução
![Page 6: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/6.jpg)
CIn.ufpe.br
Exemplo• Amédiaaritméticadeumconjuntodevaloresédadapela
seguinteexpressão:
– Oprogramaabaixocalculaamédiaaritméticaentrecincovalores:
Comoseriaesteprogramaseprecisarmoscalcularamédiaentre200notas?
![Page 7: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/7.jpg)
CIn.ufpe.br
Solução:VariáveisCompostas
• Conjunto(coleção)devaráveisdeummesmotipodedados• Podemser:
– Unidimensionais:vetores– Multidimensionais:matrizes
7
![Page 8: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/8.jpg)
CIn.ufpe.br
VariáveisCompostasUnidimensionais:Vetores(Arrays)
• Representamumacoleçãodevariáveisdeummesmotipo– Estruturadedadoshomogêneaeunidimensional
• Sintaxe:tiponome_do_vetor[tamanho];
• Tamanhorepresentaonúmerodeelementos;• Oíndicedovetorvariade0a(tamanho-1);• Ex.:
8
0.0 0.0 0.0 0.0 0.0
Declaraumvetordotipofloatcom5posições
![Page 9: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/9.jpg)
CIn.ufpe.br
Vetores(Arrays)
• Coleçãodecaixasdevariáveis• Variáveisalocadassequencialmentenamemória• Endereçoinicialcorrespondeaoprimeiroelemento(índice0)
dovetor.• Oacessoacadaposiçãodovetorrealizadoutilizando-seseu
índice:
9
0.0 0.0 0.0 0.0 0.0
Posições:notas[0]notas[1]notas[2]notas[3]notas[4]
Índices:01234
![Page 10: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/10.jpg)
CIn.ufpe.br
AcessoaosElementos
• Nomedovetorseguidodoíndicedoelementoentrecolchetes• notas[2]é3ºelementodoarray:
• notas[2]éumavariáveldotipofloat
2.5 3.2 1.9 4.1 2.0
notas[2]
![Page 11: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/11.jpg)
CIn.ufpe.br
Exemplo
• Leranotade5alunosdeumadisciplinaecalcularamédia.
11
Declaraumvetorde5posições.
Armazenaovalorlidonai-ésimaposição.
Acessaovalordai-ésimaposição.
![Page 12: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/12.jpg)
CIn.ufpe.br
Vetores:ValoresnosColchetes
• Significadosdiferentes:– Nadeclaraçãodeumvetor:informaaquantidadeNdeposiçõesque
devemseralocadas– Apósadeclaração:informaaposiçãoqueseráacessadaparaleituraou
gravaçãodeinformação.Deveserumvalorentre[0...(N-1)]
12
DeclaraumvetordeN=5posições.
Gravainformaçãonaposiçãoiem[0...4].
Lêinformaçãodaposiçãoiem[0...4].
![Page 13: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/13.jpg)
CIn.ufpe.br
Vetoreseseuslimites
• Noexemploanterior:– Vetorpossuicincoposições– Índicedaúltimaposiçãoé4– Acessarnotas[5]causafalhadememória.
• Índicedevevariarde0a[tamanho-1];• Cnãoavisaquandoolimitedeumvetoréexcedido!• Seoprogramatranspuserofimdovetorduranteaoperaçãode
atribuição,osvaloresserãoarmazenadosemposiçõesinválidasdememória,ousobrescrevendooutrasvariáveis;
13
Oprogramadortemaresponsabilidadedeverificarolimitedovetor!
0.0 0.0 0.0 0.0 0.0
Índices:01234
![Page 14: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/14.jpg)
CIn.ufpe.br
Vetoreseseuslimites
• Errocomum:acessoforadoslimites• Exemplo:
14
Deveriaser:i<20
Ondeestáoerro?
Aposiçãopares[20]estáforadovetor!
![Page 15: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/15.jpg)
CIn.ufpe.br
Vetores:Inicialização
• Tipo1:
• Tipo2:
• Compiladoralocaespaçosuficienteparaarmazenartodososvalores
15
Vetoressópodemserinicializadosdessaformaemsuadeclaração!
![Page 16: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/16.jpg)
CIn.ufpe.br
Vetores:Inicialização
• Quandootamanhodovetorforespecificadoehouveralistadeinicialização:– Sehámenosinicializadoresqueotamanhoespecificado,osoutrosserão
zero;– Maisinicializadoresqueonecessárioimplicaumavisodecompilação
(warning).
• Quandonãoinicializado:otamanhodeveserespecificadonadeclaração
16
![Page 17: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/17.jpg)
CIn.ufpe.br
Vetores:DeclaraçãodoTamanho
• Valorliteral,nãoumavariável– Determinadoemtempodecompilação
• Exemplo:
17
Erro!nAlunosédesconhecidoemtempodecompilação
![Page 18: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/18.jpg)
CIn.ufpe.br
Vetores:Constantes#defineproTamanho
• Conhecidasemtempodecompilação
18
Recomendável!poisfacilitaalegibilidadeeamanutençãodocódigo.Seforprecisoaumentaronúmerodealunosbastamodifica-loemumlocal.
![Page 19: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/19.jpg)
CIn.ufpe.br
Vetorescomoparâmetrodefunções
• Podeserpassadocomoargumentoparaumafunção• Aopassarumvetorparaumafunçãopodemosmodificaro
conteúdodestevetordentrodafunção:– Passa-senaverdadeoendereçodoprimeiroelementodovetorna
memória;– Osdemaisestãonasposiçõesseguintesdememória;
• Podemospassartambémumelementoemparticulardeumvetorparaumafunção– Oparâmetrodeveserdomesmotipodovetor
19
![Page 20: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/20.jpg)
CIn.ufpe.br
Vetorescomoparâmetrodefunções
20
Recebeumvetorfloateonúmerodeelementoscomoparâmetroecalculaamédia
Declaraçãodeumvetorfloatde10posições
Passaestevetorcomoargumentoparaafunção
“media”
![Page 21: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/21.jpg)
CIn.ufpe.br
Vetorescomoparâmetrodefunções
21
Recebeumvetorfloat,onúmerodeelementose
umvalorqueseráutilizadoparamodificaro
vetor
Declaraçãodeumvetorfloatde10posições
Passaestevetorjuntamentecomosoutrosvalorescomoargumentoparaafunção
“incrementar”
Imprimeovetormodificadopor“incrementar”
![Page 22: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/22.jpg)
CIn.ufpe.br
Elementodevetorcomoparâmetrodefunções
22
Recebeumanotafloat,eamédiacomaqualanotaserácomparada
Declaraçãodeumvetorcomasnotasjápreenchidas
Passaovalornaposiçãoidovetorcomoargumentoparaa
função“aprovado”
![Page 23: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/23.jpg)
CIn.ufpe.br
Atividade1
• SendoVovetorabaixoeasvariáveisX=2eY=4,quaisosvaloresde:
23
a) V[X+1] b) V[X] + 1 c) V[X+Y] d) V[8-V[2]] e) V[V[V[7]]]
2 6 8 3 10 9 1 21 33 14
0 1 2 3 4 5 6 7 8 9
![Page 24: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/24.jpg)
CIn.ufpe.br
Atividadesadicionais-Vetores1. Construaumprogramaquepreencheumvetordeinteirosde
100números,colocando0nasposiçõesparese1nasímpares.2. Construaumprogramaquelê,somaeimprimeoresultadoda
somadeumvetordeinteirosde10posições.3. Construaumprogramaquemultipliqueosvaloresdeumvetor
dereaisde20posiçõespelosvaloresdeumoutrovetordereaisde20posições.Oprimeirovetordeveserinicializadocomvalorescrescentesapartirde1eosegundovetorcomvaloresdecrescentesapartirde20.Osresultadosdasmultiplicaçõesdevemserarmazenadosnumterceirovetor.
4. Leiaumvetorde16posiçõesetroqueos8primeirosvalorespelos8últimosevice-versa.Escrevaaofinalovetorobtido.
5. Refaçaasquestõesanteriorescriandoumafunçãoparacadaumadelas.
24
![Page 25: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/25.jpg)
CIn.ufpe.br
Desafio–bubblesort
• Construaumprogramaqueleiaeguardeoselementosemumvetorde20posições.Emseguidaoalgoritmoordenaoselementosdovetordeacordocomobubblesort:– Obubblesort,ouordenaçãoporflutuação(literalmente"porbolha"),é
umalgoritmodeordenaçãodosmaissimples.– Aideiaépercorrerovetordiversasvezes,acadapassagemfazendo
flutuarparaotopoomaiorelementodasequência.– Essamovimentaçãolembraaformacomoasbolhasemumtanquede
águaprocuramseupróprionível,edissovemonomedoalgoritmo.
• Transformeesteprogramaemumafunçãoparaaordenaçãodevetores
• Vejaumexemplonopróximoslide
25
![Page 26: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/26.jpg)
CIn.ufpe.br
Desfio–Passo-a-passo• Tomemosoconjuntodenúmeros"51428",eordenarovetordenúmerodomenorparao
maiorusandobubblesort.Emcadaetapa,oselementosescritosemnegritoestãosendocomparados.Trêspassagensserãonecessárias.
• Primeiropassagem:– (51428)para(15428),aqui,oalgoritmocomparaosdoisprimeiroselementos,etroca-osjáque5>1.– (15428)para(14528),troca,jáque5>4– (14528)para(14258),troca,jáque5>2– (14258)para(14258),agora,umavezqueesseselementosjáestãoemordem(5<8),oalgoritmonãoos
troca.• Segundapassagem:
– (14258)para(14258),nãotroca– (14258)para(12458),troca,jáque4>2– (12458)para(12458),nãotroca– (12458)para(12458),nãotroca
• Agora,ovetorjáestáordenado,masnossoalgoritmonãosabedisso.Oalgoritmoprecisademaisumapassageminteira,semqualquertrocaparasaberqueestáordenado.
• Terceirapassagem:– (12458)para(12458),nãotroca– (12458)para(12458),nãotroca– (12458)para(12458),nãotroca– (12458)para(12458),nãotroca
• Nãohouvetroca:fim!(oalgoritmoterminaquandoocorreumapassagemportodoovetorsemquehajanenhumatroca)
26
![Page 27: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/27.jpg)
CIn.ufpe.br
BubbleSort5
1
4
2
8
27
1
5
4
2
8
1
4
5
2
8
1
5
4
2
8
1
4
2
5
8
1
4
2
5
8
1
4
5
2
8
1
4
2
5
8
![Page 28: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/28.jpg)
CIn.ufpe.br
BubbleSort1
4
2
5
8
28
1
4
2
5
8
1
2
4
5
8
1
4
2
5
8
1
2
4
5
8
1
2
4
5
8
1
2
4
5
8
1
2
4
5
8
![Page 29: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/29.jpg)
CIn.ufpe.br
LimitaçãodeVetores• Vetorespermitemdefinirumconjuntodedados(array)
unidimensional.Ex.:
• Eseprecisarmosdemaisdimensões?– Ex:arraydeduasdimensões:
– Nestecaso,asoluçãoédeclararumvetormultidimensional;• Nestecursovamostratarapenasdearrayscom:
– Umadimensão:chamadosdevetores– Duasdimensões:chamadosdematrizes
• Conceitospodemserfacilmentegeneralizadosparadeclarararrayscomumnúmeromaiordedimensões.
0.0 0.0 0.0 0.0 0.0
floatvet[5];Declaraumvetordeumadimensãocom5posições
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
![Page 30: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/30.jpg)
CIn.ufpe.br
VariáveisCompostasBidimensionais(matrizes)
• Vetordevetores:umvetorondecadaposiçãocontémumoutrovetor:
30
Vetor devetores
![Page 31: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/31.jpg)
CIn.ufpe.br
VariáveisCompostasBidimensionais(matrizes)
• Exemplo:
31
linhas
colunas
![Page 32: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/32.jpg)
CIn.ufpe.br
VariáveisCompostasBidimensionais(matrizes)
• Manipulação:
32
0 1 2 3 4 5 6 7
0
1
2
3
4
5
6
7
MATRIZ
MATRIZ[2][3]
![Page 33: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/33.jpg)
CIn.ufpe.br
VariáveisCompostasBidimensionais(matrizes)
• Matrizéumaestruturadedadoshomogêneabidimensional.• Declaração:
tiponome_da_matriz[m][n];
m:representaonúmerodelinhasdamatrizn:onúmerodecolunas– Asduasdimensõessão,respectivamente,aquantidadedelinhase
colunasdamatriz– Ex:intmat[10][3];
33
![Page 34: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/34.jpg)
CIn.ufpe.br
VariáveisCompostasBidimensionais(matrizes)
34
... x[0][n-2] x[0][n-1] x[0][0] x[0][1] x[0][2]
x é uma matriz bidimensional m x n.
linha 1
col. 1 col. 2 col. 3 col. n-1 col. n
... x[1][n-2] x[1][n-1] x[1][0] x[1][1] x[1][2] linha 2 ... ... ... ... ...
... x[m-1][n-2] x[m-1][n-1] x[m-1][0] x[m-1][1] x[m-1][2] linha m
![Page 35: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/35.jpg)
CIn.ufpe.br
Matrizes:Inicialização
• Podeserfeitanadeclaração:
• Nosegundocaso,deveserinformadaaomenosasegundadimensão
• Usandolaços:
35
![Page 36: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/36.jpg)
CIn.ufpe.br
Matrizes-Impressão
• Exemplo:imprimindooconteúdodeumamatrizutilizandolaçosaninhados:
36
![Page 37: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/37.jpg)
CIn.ufpe.br
Matrizespassadasporparâmetro
• Énecessárioespecificaraquantidadedecolunasdamatrizoutodasasdimensões:
37
![Page 38: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/38.jpg)
CIn.ufpe.br
Atividade-Matrizes1. Construaumalgoritmoqueefetueeapresenteoresultadodasoma
entreduasmatrizes3x5.Inicializeamatrizcomvaloresquaisquereimprimaoresultadonatela.
2. Façaumprogramaquemultiplicaumamatriz3x3deinteirosporumescalarkeimprimaoresultadonatela.Ousuáriodevefornecerosvaloresdamatrizedek.
3. Leiaumamatriz20x20.LeiatambémumvalorX.Oprogramadeveráfazerumabuscadessevalornamatrize,aofinalescreveralocalização(linhaecoluna)ouumamensagemde“nãoencontrado”.
4. Dadaumamatriz5x5,elaboreumalgoritmoqueimprima:– Adiagonalprincipal– Adiagonalsecundária– Asomadalinha4– Asomadacoluna2– Tudo,excetoadiagonalprincipal
5. Refaçaasquestõesanteriorescriandoumafunçãoparacadaumadelas.38
![Page 39: Computação Eletrônica Vetores e Matrizesluciano/cursos/ce/vetores... · 2018-08-12 · – Ex: array de duas dimensões: – Neste caso, a solução é declarar um vetor multidimensional;](https://reader034.vdocuments.net/reader034/viewer/2022042805/5f62986167720477ee4e0d73/html5/thumbnails/39.jpg)
CIn.ufpe.br
Atividadesadicionais-Matrizes
1. Façaumprogramaparamultiplicarduasmatrizescomtamanhoaté10x10,armazenandooresultadoemumaterceiramatriz.– Oprogramadevesolicitaraousuárioasduasdimensõesdasduasmatrizes;– Oprogramadeveverificarseasmatrizespodemsermultiplicadase
apresentarumamensagemdeerro,casonãosejapossível.
2. Refaçaoprogramaanteriortransformandoapenasocódigoquefazamultiplicaçãodasmatrizesemumafunção.– Afunçãorecebecomoparâmetroastrêsmatrizeseasdimensõesdasduas
primeirasmatrizes.Oresultadodamultiplicaçãodasduasprimeirasmatrizesdeveserarmazenadonaterceiramatriz.;
– Afunçãodeveretornarfalsosenãoforpossívelmultiplicarasmatrizes,everdadeirocasocontrário.
– Afunçãonãodevelerasmatrizes,imprimiroresultado,nemamensagemdeerro.Istodeveserfeitonafunçãoprincipal.
39