Matrizes
ALGORITMOS E PROGRAMAO
ELC1022
Prof. Victoria Souto
E-mail :
Matrizes
DEFINIO:
Uma matriz uma coleo de variveis do mesmo tipo
que referenciada por um nome comum.
Um elemento especfico de uma matriz acessado por
meio de um ndice.
MOTIVAO:
Declarar inmeras variveis do mesmo tipo para um
determinado fim.
Vetores
(Matrizes Unidimensionais)
A forma geral para declarar um vetor
:
tipo
nome_var[tamanho
];
tipo Declara o tipo de base do vetor, que o
tipo de cada elemento do vetor.
tamanho Define quantos elementos o vetor
ir guardar.
Exemplo:
Vetor de 100
int
elementos do tipo
x[100];
inteiro.
Vetores
Os ndices de um vetor vo de 0 at n-1.
Exemplo:
x[0] x[1] x[2] x[3] x[4]
int x[5] 1 4 23 10 15
Em Linguagem C, os ndices de um vetor so
acessados usando o operador colchetes seguido
da posio do elemento no vetor [ x ].
Exemplos:
inteiros[0] = 2;
inteiros[5] = 3 + inteiros[0];
Vetores
Inicializao na Declarao: Um vetor pode ser
inicializado na declarao.
int x[5] = {1, 2, 3, 4, 5}
E ainda pode-se deixar em aberto o nmero de elementos,
que ser preenchido pelo nmeros de elementos na
inicializao, que ocorre no momento da declarao.
int x[] = {1, 2, 3, 4, 5}
int x[] INCORRETO
Exemplo: Faa um programa que leia e armazene10 valores
inteiros e depois apresente os valores lidos na tela.
Exerccios
1. Elabore um algoritmo que leia 10 nmeros e mostre na
tela os nmeros na ordem lida e em ordem decrescente.
2. Construa um programa que declare um vetor de
nmeros reais com 10 elementos. O vetor deve ser
inicializado na sua declarao com valores aleatrios. O
programa deve exibir os valores dos ndices 0, 3, 5, 8 e
9.
3. Implemente um programa que declare e inicialize um
vetor de nmeros inteiros e some todos os seus valores.
Exiba a soma ao final do programa.
Exerccios
4. Faa um programa que leia um vetor de 10 posies a
partir do teclado e substitua os valores negativos pelo
valor 1 (um).
5. Elabore um programa que exibe o contedo de um vetor
tamanho 15 de forma invertida.
Matrizes
Bidimensionais
A forma geral para declarar uma matriz
bidimensional :
tipo nome_var[n_linhas]
[n_colunas];
Exemplo:
int x[3]
[4];
0 1 2 3
0
1 2 3 4
1 5 6 7 8
2 9 10 11 12
Matrizes
Multidimensionais
A forma geral para declarar uma matriz
multidimensional :
tipo nome_var[tamanho1][tamanho2]...
[tamanhoN];
Matrizes de trs ou mais dimenses no so
frequentemente usadas devido quantidade de
memria de que elas necessitam.
Exemplo: Declarar uma estrutura com o nome de salrio, com dez
elementos inteiros dispostos numa matriz com cinco linhas e duas colunas.
Inicializando Matrizes
A forma geral para declarar uma matriz
multidimensional :
tipo nome_var[tamanho1][tamanho2]...[tamanhoN]
= {lista_valores};
Exemplos:
int i[5] = {1, 2, 3, 4, 5};
char str[5] = {A, B, C, D, E};
int matriz [][2]={1,2,3,4,5,6,7,8};
int matriz [][]={1,2,3,4,5,6,7,8}; INCORRETO
Exerccios
1. Construa um programa que declare e atribua valores a
uma matriz 3x3 de inteiros. Exiba os valores ao final do
processamento.
2. Crie um programa que preencha uma matriz 5 x 5 com
nmeros inteiros e mostre uma mensagem dizendo se a
matriz digitada simtrica.
Conceitos
Matriz transposta, em matemtica, o resultado da troca
de linhas por colunas em uma determinada matriz.
Uma matriz simtrica toda a matriz que igual sua
transposta.
Strings
ALGORITMOS E PROGRAMAO
ELC1022
Prof. Victoria Souto
E-mail :
Strings
O uso mais comum de matrizes
unidimensionais como string de caracteres.
Uma string definida como uma matriz de
caracteres que terminada por um nulo.
Um nulo especificado como \0 e geralmente
zero.
Uma matriz de string deve ser declarada como
sendo um caractere mais longo que a maior
string que elas devem guardar.
Uma constante string uma lista de caracteres
algoritmos e programao
entre aspas.
Matrizes de Strings
Para criar uma matriz de strings, use uma
matriz bidimensional de caracteres. O
tamanho do ndice esquerdo indica o nmero
de strings e o tamanho do ndice do lado
direito especifica o comprimento mximo de
cada string.
Exemplo:
char str_array[30];
char str_array [30]
[80];
Strings
String no um tipo primitivo, por isso as
seguintes operaes NO so vlidas:
char str1[10];
char str2[] = Palavra 2;
str1 = str2 /* ERRO! No copia str2 em str1 */
if (str1 == str2) /* ERRO! No compara str1 com str2
*/
Para operar sobre strings so utilizadas
funes da biblioteca string.h.
Biblioteca string.h #include <string.h>
Fornece funes para manipulao de cadeias de
caracteres. Principais funes:
gets, puts, strlen, strcpy, strcat, strcmp,
Funes de Manipulao de
Strings
Nome Funo
strcpy (s1, Copia s2 em s1.
s2)
strcat (s1, Concatena s2 ao final de s1.
s2)
strlen (s1) Retorna o tamanho de s1.
strcmp (s1, Retorna 0 se s1 e s2 so
s2) iguais.
Menor que 0 se s1 < s2.
Maior que 0 se s1 > s2.
strupr (s1) Coloca s1 em MAISCULAS.
strlwr (s1) Coloca s1 em MINSCULAS.
Funo strcpy
DEFINIO:
strcpy(string1, string2)
Copia o contedo de string2 para string1.
String2 no pode ser maior que string1.
Exemplo:
char nome[100];
strcpy (nome, Pedro);
Resultado: string conter o valor Pedro
Exemplo: Implemente um algoritmo que receba o nome de uma pessoa
e copie este nome para outra string.
Funo strcmp
DEFINIO:
strcmp(string1, string2)
Rretorna 0 se as duas strings forem iguais.
Retorna valor != 0 se forem diferentes.
Diferencia maisculas de minsculas.
Exemplo:
char senha[] = 123456;
strcmp (senha, 123456);
Resultado = 0 (zero) strings iguais
Exemplo: Implemente um algoritmo que receba uma senha e compare
com uma j cadastrada, se for igual escreva Acesso Permitido, caso
contrrio escreva Acesso Negado.
Funo strlen
DEFINIO:
strlen(string)
Informa um valor inteiro com o nmero de caracteres
da string (caractere \0 ignorado)
Observao: strlen conta a quantidade de caractere se
no-nulos de uma String.
Exemplo:
- char palavra[100] = teste
- strlen(palavra);
- Resultado: tamanho 5 (cinco)
Exemplo: Implemente um algoritmo que receba uma palavra e mostre
na tela quantos caracteres foram lidos.
Funo strcat
DEFINIO:
strcat(string1, string2)
Utilizada para concatenar duas strings.
A string1 receber a concatenao.
A string2 no pode ser maior que a string1.
Exemplo:
char nome[100] = Pedro ;
char sobrenome[50] = Tavares;
strcat(nome, sobrenome)
string nome conter: Pedro Tavares
Exemplo: Implemente um algoritmo que receba duas palavras e
concatene uma com a outra.
Exemplo: Implemente um algoritmo que receba uma palavra e mostre
ela em maisculas e em minsculas.
Exerccios
1. Construa um programa que declare uma string de
100 caracteres. O programa deve:
Solicitar que o usurio digite uma palavra qualquer.
Imprimir a palavra.
Imprimir na tela as duas primeiras letras.
Alterar o valor da TERCEIRA letra.
Exibir a palavra alterada.
2. Construa um programa que declare duas strings de
20 caracteres. O programa deve:
Inicializar na declarao a primeira palavra com o valor Bom
Atribuir para a segunda palavra o valor dia!.
Concatenar as duas palavras
Exibir o resultado na tela
Exerccios
3. Construa um programa que declare duas strings de 20
caracteres. O programa deve:
Receber do teclado o valor das duas palavras
Compar-las e informar se so iguais ou diferentes
4. Construa um programa que receba do teclado o
nome, profisso e telefone do usurio. O programa
deve exibir as informaes digitadas e perguntar se o
usurio deseja continuar. O programa deve repetir a
operao at que o usurio digite a palavra NAO.
Muito mais do que documentos
Descubra tudo o que o Scribd tem a oferecer, incluindo livros e audiolivros de grandes editoras.
Cancele quando quiser.