Buscar

Vetores e Matrizes em C

Prévia do material em texto

imagens/126
Suma´rio
1 Vetores
2 Matrizes
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 1 / 14
imagens/126
Vetores
A a forma mais simples de um vetor e´ unidimencional, que pode ser
definido abstratamente como um conjunto finito e ordenado de elementos
homogeˆneos(TENENBAUM, 1995).
Objetivo - manter um grande nu´mero de informac¸o˜es na memo´ria.
Como declarar um vetor em C ?
declarando um vetor : <tipo de dados> <nome do vetor>
[<tamanho>]
Por exemplo, vamos declarar 10 inteiros que va˜o representar a idade
de 10 pessoas: int idade[10]
Agora 50 floats que va˜o representar a nota de 50 alunos: float
notas[50]
Agora amazenar 5 nomes char nomes[5]
Como usar acessar os elementos de um vetor em C ?
Armazenar a nota de um aluno que tirou 10 nota[10]= 10.0
Somar a nota de dois alunos: float soma = nota[3] + nota[4];
Incrementar: nota[5]++;
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 2 / 14
imagens/126
Vetores
Fac¸a um programa que pec¸a 3 nu´meros inteiros ao usua´rio, armazene em
um vetor, depois mostre o valor de cada elemento do vetor, assim como
seu ı´ndice.
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 3 / 14
imagens/126
Vetores
Fac¸a um programa em C que pec¸a ao usua´rio duas notas que ele tirou e
mostre a me´dia. Use vetores! Alia´s, use somente um vetor para essas treˆs
varia´veis.
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 4 / 14
imagens/126
Inicializando vetores
Os vetores poden ser inicializados assim com as varia´veis. Ex:
Veja, pra inicializar um vetor de 3 inteiros: int numeros[3] = {1, 2, 3}
como sa˜o va´rios valores precisamos inicialzar com as chaves
numeros[0] = 1;numeros[1] = 2; numeros[2] = 3
No caso de caracteres : char curso[14] = {’C’, ’ ’, ’P’, ’r’, ’o’, ’g’, ’r’ ,
’e’, ’s’, ’s’, ’i’, ’v’, ’o’,’n’}
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 5 / 14
imagens/126
Exemplos
Figure: Exemplo de Vetor - Distribuic¸a˜o da temperatura em uma barra
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 6 / 14
imagens/126
Exerc´ıcios em sala
Exec´ıcios com vetores
1 Escreva um algoritmo que leˆ um vetor A(10) e escreva a posic¸a˜o de
cada elemento igual a 10 deste vetor.
2 Escreva um algoritmo que leˆ um vetor A(10) e exiba qual elemento e´
par e qual e´ ı´mpar.
3 Crie um programa em C que pec¸a 10 nu´meros, armazene eles em um
vetor e diga qual elemento e´ o maior, qual e´ o menor e seus valores
4 Crie um programa em C que pec¸a 10 nu´meros, armazene eles em um
vetor e diga qual elemento e´ o menor, e seu valor.
5 Fac¸a um algoritmo que leia 10 valores e os escreva na ordem
contra´ria a` que foram digitados
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 7 / 14
imagens/126
Exerc´ıcios
Exec´ıcios com vetores
1 Crie um aplicativo em C que pec¸a um nu´mero inicial ao usua´rio, uma
raza˜o e calcule os termos de uma P.A (Progressa˜o Aritme´tica),
armazenando esses valores em um vetor de tamanho 10.
2 Escreva um algoritmo que gera os 10 primeiros nu´meros primos acima
de 20 e os armazena em um vetor X(10) escrevendo, no final, o vetor
X.
3 Escreve um programa que sorteio, aleatoriamente, 10 nu´meros e
armazene estes em um vetor. Em seguida, o usua´rio digita um
nu´mero e seu programa em C deve acusar se o nu´mero digitado esta´
no vetor ou na˜o. Se estiver, diga a posic¸a˜o que esta´. Para gerar um
nu´mero aleato´rio usaremos a func¸a˜o rand() na biblioteca <stdlib>.
4 Escrever um algoritmo que leˆ, para um vetor V(30), vinte valores que
ocupara˜o as 20 primeiras posic¸o˜es do vetor V. Ordene, a seguir, os
elementos de V em ordem crescente. Leia, a seguir 10 valores A, um
por vez, e insira-os nas posic¸o˜es adequadas do vetor V, de forma que
o mesmo continue ordenado em ordem crescente. Exiba o vetor V
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 8 / 14
imagens/126
Vetores multidimencionais ou matrizes
Matrizes sa˜o arrays multidimencionais onde podemos trabalhar com linhas
e colunas. Ex : Na escola, esse aluno tem va´rias mate´rias: Matema´ticas,
F´ısica, Qu´ımica, Biologia etc. Vamos supor que existam 5 provas ao longo
do ano, para cada mate´ria. Poder´ıamos representar as notas de cada aluno
da seguinte maneira:
float notasMatematica[5];
float notasFisica[5];
float notasQuimica[5];
Cada coluna representa as provas feitas: prova 1, prova 2, ... etc.
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 9 / 14
imagens/126
Vetores multidimencionais ou matrizes
Como ficaria a declarac¸a˜o da matriz em C, bem como sua inicializac¸a˜o.
Veja abaixo:
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 10 / 14
imagens/126
Vetores multidimencionais ou matrizes - Exemplos
Exemplo 1 : Criar e exibir uma matriz 3x3. Crie um aplicativo em C que
pec¸a ao usua´rio para preencher uma matriz 3x3 com valores inteiros e
depois exiba essa matriz.
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 11 / 14
imagens/126
Vetores multidimencionais ou matrizes - Exemplos
Exemplo 2 : Use o programa feito no exemplo anterior para calcular a
diagonal principal de uma matriz . Dica : Voceˆ ira´ calcular os valores
matriz[0][0], matriz[1][1] e matriz[2][2].
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 12 / 14
imagens/126
Exemplos
Figure: Exemplo de Matriz - Distribuic¸a˜o da temperatura em uma placa de metal
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 13 / 14
imagens/126
Exerc´ıcios
Exec´ıcios com matriz
1 Escreva um algoritmo que leˆ uma matriz M[5,5]. Substitua, a seguir,
todos os valores negativos da matriz pelo seu mo´dulo. Exemplo:
substitua -2 por 2, -16 por 16, assim por diante.
2 Escreva um algoritmo que leˆ uma matriz M[6,6]. A seguir, troque os
elementos da primeira coluna com os elementos da segunda coluna,
os da terceira coluna com a quarta coluna e os elementos da quinta
coluna com os elementos da sexta coluna.
3 Repita o exerc´ıcio anterior, trocando os elementos das linhas, ao inve´s
das colunas.
4 Fac¸a um algoritmo que leia uma matriz 10x10 de nu´meros e encontre
o maior valor da matriz. A seguir, multiplique cada elemento da
diagonal principal pelo maior valor. Mostre a matriz apo´s as
multiplicac¸o˜es e o valor que foi multiplicado.
Todos os exemplos de vetores e matrizes foram extra´ıdos e adaptados de
:http://www.cprogressivo.net/p/vetores-em-linguagem-c.html
Jose´ Luiz Vilas Boas Linguagem de Programac¸a˜o March 12, 2015 14 / 14
	Vetores
	Matrizes

Continue navegando