Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

39
Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Linguagem C Vetores, Matrizes, Vetores, Matrizes, Strings Strings

Transcript of Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Page 1: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Algoritmos e Estruturas de Dados

Prof. Me. Claudio Benossi

Linguagem CLinguagem CVetores, Matrizes, Vetores, Matrizes,

StringsStrings

Page 2: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

São um conjunto de variáveis São um conjunto de variáveis identificadas por um identificadas por um mesmo nomemesmo nome..

HomogêneasHomogêneas (vetores e matrizes) (vetores e matrizes)

HeterogêneasHeterogêneas (estruturas) (estruturas)

Variáveis CompostasVariáveis CompostasVariáveis CompostasVariáveis Compostas

Page 3: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

6,1 2,3 9,4 5,1 8,9 9,8 10 7,0 6,3 4,4

0 1 2 3 4 5 6 7 8 9

Notas:

Posição:

Variáveis Compostas Variáveis Compostas HomogêneasHomogêneasVariáveis Compostas Variáveis Compostas HomogêneasHomogêneas

Correspondem a posições da memória:Correspondem a posições da memória: identificadas por um identificadas por um único nomeúnico nome

individualizadas por individualizadas por índicesíndices

cujo conteúdo é de um cujo conteúdo é de um mesmo tipomesmo tipo

Page 4: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Posição do livroPosição do livro

00 11 22 …… n-1n-1

00 788788 598598 265265 …… 156156

11 145145 258258 369369 …… 196196

22 989989 565565 345345 …… 526526

⋮⋮ ⋮⋮ ⋮⋮ ⋮⋮ ⋱⋱ ⋮⋮

m-m-11 845845 153153 564564 892892 210210

Pra

tele

ira

Pra

tele

ira

Variáveis Compostas Variáveis Compostas HomogêneasHomogêneas:: Exemplo:: ExemploVariáveis Compostas Variáveis Compostas HomogêneasHomogêneas:: Exemplo:: Exemplo

Page 5: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Utilizados para armazenar conjuntos de Utilizados para armazenar conjuntos de dados cujos elementos podem ser dados cujos elementos podem ser endereçados por endereçados por um único índiceum único índice..

Também são conhecidos como Também são conhecidos como vetoresvetores..

Arranjos unidimensionaisArranjos unidimensionaisArranjos unidimensionaisArranjos unidimensionais

Page 6: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Utilizados para armazenar conjuntos de Utilizados para armazenar conjuntos de dados cujos elementos necessitam ser dados cujos elementos necessitam ser endereçados por endereçados por mais de um índicemais de um índice..

Também são conhecidos comoTambém são conhecidos como arraysarrays ouou matrizesmatrizes..

Arranjos multidimensionaisArranjos multidimensionaisArranjos multidimensionaisArranjos multidimensionais

Page 7: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

00 11 22 …… n-1n-1

00 788788 598598 265265 …… 156156

11 145145 258258 369369 …… 196196

22 989989 565565 345345 …… 526526

⋮⋮ ⋮⋮ ⋮⋮ ⋮⋮ ⋱⋱ ⋮⋮

m-m-11 845845 153153 564564 892892 210210

Arranjos de Arranjos de 22 dimensões dimensões

Arranjos multidimensionaisArranjos multidimensionais:: Exemplos:: ExemplosArranjos multidimensionaisArranjos multidimensionais:: Exemplos:: Exemplos

Page 8: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

00 11 22 33

00

11

22

33

00

00 11 22 33

00

11

22

33

11

00 11 22 33

00

11

22

33

22

00 11 22 33

00

11

22

33

33

Arranjo de Arranjo de 33 dimensões dimensões

Arranjos multidimensionaisArranjos multidimensionais:: Exemplos:: ExemplosArranjos multidimensionaisArranjos multidimensionais:: Exemplos:: Exemplos

Page 9: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

00 11 22 33

00

11

22

33

(0,0)(0,0)

00 11 22 33

00

11

22

33

(0,1)(0,1)

00 11 22 33

00

11

22

33

(0,2)(0,2)

00 11 22 33

00

11

22

33

(0,3)(0,3)

00 11 22 33

00

11

22

33

(1,0)(1,0)

00 11 22 33

00

11

22

33

(1,1)(1,1)

00 11 22 33

00

11

22

33

(1,2)(1,2)

00 11 22 33

00

11

22

33

(1,3)(1,3)

Arranjo de Arranjo de 44 dimensões dimensões

Arranjos multidimensionaisArranjos multidimensionais:: Exemplos:: ExemplosArranjos multidimensionaisArranjos multidimensionais:: Exemplos:: Exemplos

Page 10: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Como declarar:Como declarar:

Exemplos:Exemplos:

<tipo> <nome> [<tamanho1>][<tamanho2>]...;<tipo> <nome> [<tamanho1>][<tamanho2>]...;

float VetReais[100];int Vetor[5][9];char Nome_cliente[50];float cubo[20][12][7];

float VetReais[100];int Vetor[5][9];char Nome_cliente[50];float cubo[20][12][7];

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C

Page 11: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

O compilador C aloca uma porção O compilador C aloca uma porção contígua contígua da da memória para armazenar os elementos das memória para armazenar os elementos das matrizes e vetores.matrizes e vetores.

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C

Page 12: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

int VetInt[n];int VetInt[n];

...

Índices:Índices: 00 11 22 33 44 55 ...... n-1n-1

VetInt

Índice do Índice do primeiroprimeiro elemento: elemento: zerozeroÍndice doÍndice do últimoúltimo elemento: elemento: n – 1n – 1QuantidadeQuantidade de elementos: de elementos: nn

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C

Page 13: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

00 11 22 33 44 55

Vetor[6]Vetor[6]X1X1 X2X2

Vetor[1] = 9;

Vetor[-1] = 2;

Vetor[6] = 8;

Vetor[1] = 9;

Vetor[-1] = 2;

Vetor[6] = 8;

2 89

37

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C

Índices fora dos limites podem causar Índices fora dos limites podem causar comportamento comportamento anômalo anômalo do código.do código.

int X1;

int Vetor[6];

int X2

int X1;

int Vetor[6];

int X2

Page 14: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C

O tamanho de um vetor ou matriz é O tamanho de um vetor ou matriz é pré-pré-definidodefinido, ou seja, após a compilação, não , ou seja, após a compilação, não pode ser mudado.pode ser mudado.

Portanto, vetores e matrizes são Portanto, vetores e matrizes são chamadas chamadas estruturas de dados estáticasestruturas de dados estáticas, , pois mantém o pois mantém o mesmo tamanho mesmo tamanho ao longo ao longo de toda a execução do programa.de toda a execução do programa.

Page 15: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Atribuir valores na declaração do vetor:Atribuir valores na declaração do vetor:

Atribuir valores na declaração da matriz:Atribuir valores na declaração da matriz:

float matriz[2][3] = {{1,2,3},{4,5,6}};float matriz[2][3] = {{1,2,3},{4,5,6}};

int vetor[5] = {1,2,3,4,5};int vetor[5] = {1,2,3,4,5};

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: ExemplosVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: Exemplos

Page 16: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Colocar os números de 1 a 5 num vetor:Colocar os números de 1 a 5 num vetor:

Colocar os números de 5 a 1 num vetor:Colocar os números de 5 a 1 num vetor:

for (i=0; i<5; i++) Vetor[i] = 5 - i;for (i=0; i<5; i++) Vetor[i] = 5 - i;

for (i=0; i<5; i++) Vetor[i] = i + 1;for (i=0; i<5; i++) Vetor[i] = i + 1;

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: ExemplosVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: Exemplos

Page 17: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Preencher uma matriz n Preencher uma matriz n ×× m com zeros: m com zeros:

for (i=0; i < N; i++)

for (j=0; j < M; j++)

Matriz[i][j] = 0;

for (i=0; i < N; i++)

for (j=0; j < M; j++)

Matriz[i][j] = 0;

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: ExemplosVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: Exemplos

Page 18: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Copiar dados de um vetor para outro:Copiar dados de um vetor para outro:

Boa prática de programação:Boa prática de programação: Definir o tamanho de vetores com Definir o tamanho de vetores com constantesconstantes

flexibiliza a manutenção do código.flexibiliza a manutenção do código.

#define TAM_MAX 10

double VetReais[TAM_MAX], VetCopia[TAM_MAX];

for (i=0; i<TAM_MAX; i++)

VetCopia[i] = VetReais[i];

#define TAM_MAX 10

double VetReais[TAM_MAX], VetCopia[TAM_MAX];

for (i=0; i<TAM_MAX; i++)

VetCopia[i] = VetReais[i];

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: ExemplosVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: Exemplos

Page 19: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Leitura dos dados de um vetor:Leitura dos dados de um vetor:

for (i=0; i<TAM_MAX; i++) {

printf("Digite um número: "); scanf("%f", &Vet[i]);}

for (i=0; i<TAM_MAX; i++) {

printf("Digite um número: "); scanf("%f", &Vet[i]);}

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: ExemplosVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Exemplos:: Exemplos

Page 20: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Determinar:Determinar:

1.1. M[3][0]M[3][0]

2.2. M[4][2]M[4][2]

3.3. M[1][3]M[1][3]

4.4. M[5][M[0][2]]M[5][M[0][2]]

5.5. M[M[3][1]][1]M[M[3][1]][1]

6.6. M[4][(M[1][2]+M[3][0])]M[4][(M[1][2]+M[3][0])]

00 11 22 33

00 11 22 33 44

11 55 -5-5 33 00

22 11 11 11 11

33 -3-3 22 00 00

44 00 00 11 11

55 -1-1 -1-1 -2-2 -2-2

1.1. -3-3

2.2. 11

3.3. 00

4.4. -2-2

5.5. 11

6.6. 00

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema AAVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema AA

Page 21: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Ler um elemento Ler um elemento KK..

Ler um vetor Ler um vetor AA de de NN elementos.elementos.

Verificar se o elemento Verificar se o elemento KK está presente no está presente no vetor:vetor: Se estiver, imprimir a posição onde ele foi Se estiver, imprimir a posição onde ele foi

encontrado.encontrado.

Caso contrário, imprimir mensagem "elemento Caso contrário, imprimir mensagem "elemento KK não encontrado". não encontrado".

37a

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema BBVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema BB

Page 22: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Ler Ler NN valores inteiros (N valores inteiros (N ≤≤ 100) até que 100) até que seja digitado o valor zero.seja digitado o valor zero.

A seguir, A seguir, inverter o vetorinverter o vetor, trocando o 1º , trocando o 1º elemento com o último, o 2º com o elemento com o último, o 2º com o penúltimo, e assim sucessivamente.penúltimo, e assim sucessivamente.

Ao final, Ao final, imprimirimprimir o vetor invertido. o vetor invertido.

38

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema CCVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema CC

Page 23: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Faça um programa que imprima uma matriz Faça um programa que imprima uma matriz quadrada de dimensão quadrada de dimensão NN contendo: contendo:

o número o número 11 nos elementos abaixo da diagonal nos elementos abaixo da diagonal principal principal

o número o número 0 0 nos demais elementosnos demais elementos

NN deve ser menor ou igual a deve ser menor ou igual a 2020..

39

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema DDVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema DD

Page 24: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

BELÉMBELÉM    16111611 52985298 43974397 32503250 21002100 29332933

FORTALEZAFORTALEZA 16111611    57635763 48654865 28052805 13891389 31273127

MANAUSMANAUS 52985298 57635763    901901 43744374 50095009 39713971

PORTO VELHOPORTO VELHO 43974397 48654865 901901    34733473 40234023 30703070

RIO DE JANEIRORIO DE JANEIRO 32503250 28052805 43744374 34733473    16491649 429429

SALVADORSALVADOR 21002100 13891389 50095009 40234023 16491649    19621962

SÃO PAULOSÃO PAULO 29332933 31273127 39713971 30703070 429429 19621962   

BELÉ

M

FOR

TA

LEZ

A

MA

NA

US

PO

RTO

V

ELH

O

RIO

DE

JAN

EIR

O

SA

LVA

DO

R

O P

AU

LO

Fonte: DENIT

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema EEVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema EE

Page 25: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

1.1. Construir um algoritmo que leia a tabela Construir um algoritmo que leia a tabela anterior e informe ao usuário a distância entre anterior e informe ao usuário a distância entre duas cidades fornecidas por ele, até que ele duas cidades fornecidas por ele, até que ele forneça duas cidades iguais (origem e destino).forneça duas cidades iguais (origem e destino).

40

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema EEVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema EE

Page 26: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

2.2. Construir um algoritmo que permita ao usuário Construir um algoritmo que permita ao usuário informar várias cidades, até inserir “informar várias cidades, até inserir “xxxx”, e que ”, e que imprima a distância total para cumprir todo o imprima a distância total para cumprir todo o percurso especificado entre as cidades percurso especificado entre as cidades fornecidas.fornecidas.

41

Vetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema EEVetores e Matrizes na Linguagem CVetores e Matrizes na Linguagem C:: Problema :: Problema EE

Page 27: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Uma string é um vetor de caracteres, cujo final é Uma string é um vetor de caracteres, cujo final é indicado com um indicado com um caractere nulocaractere nulo (valor inteiro (valor inteiro zero).zero).

O terminador nulo também pode ser escrito O terminador nulo também pode ser escrito como como '\0‘.'\0‘.

Ao definir uma string, deve-se levar em Ao definir uma string, deve-se levar em consideração, além do número de caracteres da consideração, além do número de caracteres da string, o caractere nulo que termina a string.string, o caractere nulo que termina a string.

StringsStringsStringsStrings

Page 28: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Função Função gets()gets()

Lê string até o Lê string até o primeiro enterprimeiro enter

Função Função scanf()scanf()

Lê string até o Lê string até o primeiro espaço em brancoprimeiro espaço em branco

17

StringsStrings:: :: LeituraLeitura a partir do teclado a partir do tecladoStringsStrings:: :: LeituraLeitura a partir do teclado a partir do teclado

Page 29: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

char curso[15] = "Engenharia"; // Valido somente na// declaracao!

char curso[15] = "Engenharia"; // Valido somente na// declaracao!

char curso[15];

strcpy(curso,"Engenharia"); // Requer biblioteca// string.h

char curso[15];

strcpy(curso,"Engenharia"); // Requer biblioteca// string.h

43

StringsStrings:: Atribuição de valores:: Atribuição de valoresStringsStrings:: Atribuição de valores:: Atribuição de valores

Page 30: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

A Linguagem C possui algumas funções especiais A Linguagem C possui algumas funções especiais para análise e manipulação de caracteres.para análise e manipulação de caracteres.

Tais funções estão definidas na biblioteca Tais funções estão definidas na biblioteca ctype.hctype.h

A biblioteca A biblioteca ctype.hctype.h possibilita a possibilita a manipulação de manipulação de caracterescaracteres, não de strings inteiras., não de strings inteiras.

Manipulação de caracteresManipulação de caracteresManipulação de caracteresManipulação de caracteres

Page 31: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

Função Função toupper

Converte seu argumento para uma letra Converte seu argumento para uma letra maiúsculamaiúscula::

Função Função tolower

Converte seu argumento para uma letra Converte seu argumento para uma letra minúsculaminúscula::

<var1> = toupper(var2);<var1> = toupper(var2);

<var1> = tolower(var2);<var1> = tolower(var2);

44

Manipulação de caracteresManipulação de caracteres:: Funções :: Funções tolowertolower e e touppertoupperManipulação de caracteresManipulação de caracteres:: Funções :: Funções tolowertolower e e touppertoupper

Page 32: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

FunçãoFunção Testa se seu argumento é umTesta se seu argumento é um

isalnumisalnum caractere caractere alfanuméricoalfanumérico

isalphaisalpha caractere caractere alfabéticoalfabético

isasciiisascii caractere caractere ASCIIASCII (0 a 127) (0 a 127)

iscntrliscntrl caractere de controle (caractere de controle (0-0x1F0-0x1F ou ou 0x7F0x7F))

isgraphisgraph caractere imprimível na tela (caractere imprimível na tela (não levanão leva espaço em consideração)espaço em consideração)

isprintisprint caractere imprimível na tela (caractere imprimível na tela (levaleva espaço espaço em consideração)em consideração)

45

Manipulação de caracteresManipulação de caracteres:: Outras funções:: Outras funçõesManipulação de caracteresManipulação de caracteres:: Outras funções:: Outras funções

Page 33: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

FunçãoFunção Testa se seu argumento é umTesta se seu argumento é um

islowerislower caractere caractere minúsculominúsculo

isupperisupper caractere maiúsculocaractere maiúsculo

ispunctispunct caractere de caractere de pontuaçãopontuação

isspaceisspace caractere de caractere de espaçoespaço, , tabulaçãotabulação

isdigitisdigit caractere numérico (caractere numérico (0-90-9))

isxdigitisxdigit dígito hexadecimal (dígito hexadecimal (0-90-9, , a-fa-f ou ou A-FA-F))

46

Manipulação de caracteresManipulação de caracteres:: Outras funções:: Outras funçõesManipulação de caracteresManipulação de caracteres:: Outras funções:: Outras funções

Page 34: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

A Linguagem C possui funções especiais para A Linguagem C possui funções especiais para análise e manipulação de análise e manipulação de stringsstrings..

Tais funções estão definidas na biblioteca Tais funções estão definidas na biblioteca string.hstring.h..

A biblioteca A biblioteca string.hstring.h possibilita a manipulação possibilita a manipulação de strings completas (sem considerar caractere a de strings completas (sem considerar caractere a caractere).caractere).

Manipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.hManipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.h

Page 35: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

strcat(str1, str2)strcat(str1, str2)

Concatena str2 ao final de str1Concatena str2 ao final de str1

int tam = strlen(str1);int tam = strlen(str1);

Retorna o tamanho de str1Retorna o tamanho de str1

Manipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.hManipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.h

Page 36: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

int valor = strcmp(str1, str2);int valor = strcmp(str1, str2); valor = 0, se str1 e str2 são iguais;valor = 0, se str1 e str2 são iguais;

valor < 0, se str1 < str2;valor < 0, se str1 < str2;

valor > 0, se str1 > str2;valor > 0, se str1 > str2;

int valor = strcmpi(str1, str2);int valor = strcmpi(str1, str2);

Mesmo que Mesmo que strcmpstrcmp, mas não é sensível ao caso, mas não é sensível ao caso

47

Manipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.hManipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.h

Page 37: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

strupr(str)strupr(str)Converte uma string para maiúsculas.Converte uma string para maiúsculas.

strlwr(str)strlwr(str)Converte uma string para minúsculas.Converte uma string para minúsculas.

strrev(str)strrev(str)Inverte o conteúdo de uma string.Inverte o conteúdo de uma string.

strset(str,char)strset(str,char)Substitui todos os caracteres de uma string pelo caractere Substitui todos os caracteres de uma string pelo caractere

especificado.especificado.

48

Manipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.hManipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.h

Page 38: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

A seguintes funções fazem parte da biblioteca A seguintes funções fazem parte da biblioteca stdlib.hstdlib.h

FunçãoFunção ConverteConverte

atoi(atoi(<str><str>)) String em intString em int

atof(atof(<str><str>)) String em floatString em float

itoa(itoa(<int><int>)) Int em stringInt em string

49

Manipulação de stringsManipulação de strings:: Conversão para números:: Conversão para númerosManipulação de stringsManipulação de strings:: Conversão para números:: Conversão para números

Page 39: Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Linguagem C Vetores, Matrizes, Strings.

QuestõesQuestõesQuestõesQuestões