Você está na página 1de 29

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.