9/12/2014 Comparar 2 Strings
Programação I
Ana Isabel Rodrigues
LICENCIATURA INFORMATICA – 1º ANO - Nº 558
Conteúdo
....................................................................................................................................................... 0
Algoritmo: Comparar duas strings ................................................................................................ 2
Fluxograma: Comparar duas strings.............................................................................................. 3
// 1ª Opção ............................................................................................................................... 3
// 2ª Opção ............................................................................................................................... 4
Em C............................................................................................................................................... 5
// 1ª Opção ............................................................................................................................... 5
// 2ª Opção ............................................................................................................................... 7
Material Apoio:............................................................................................................................. 9
19 de dezembro de 2014
Algoritmo: Comparar duas strings
[Inicialização de Variáveis]
strcomp <-0
maxstr <- 80
char str1
char str2
[Leitura de Variáveis]
str1 <- (“Digite a 1ª String”)
str2 <- (“Digite a 2ª String”)
[Calculo do Valor]
strcomp=strcmp(str1,str2,maxstr)
[Resultado]
// 1ª Opção
Se strcomp>0 então
Escreve (“A 1ª String é maior”)
Senão se strcomp<0 então
Escreve(“A 2ª String é maior”)
Senão
Escreve (“As duas strings são iguais”)
// 2ª Opção
Se (strcomp(str1,str2)==0) então
Escreve(“As suas strings são iguais”)
Senão
Escreve(“As duas strings são diferentes”)
29 de dezembro de 2014
Fluxograma: Comparar duas strings
// 1ª Opção
Inicio
strcomp=0
maxstr=80
char str1
char str2
str1
Digite a 1ª String
str2
Digite a 2ª String
strcomp=strcmp(str1,str2,maxstr)
strcomp>0
F V
A 1ª String é maior
strcomp<0
F V
As 2 strings são
iguais
A 2ª String é maior
Fim
39 de dezembro de 2014
Fluxograma: Comparar duas strings
// 2ª Opção
Inicio
strcomp=0
maxstr=80
char str1
char str2
str1
Digite a 1ª String
str2
Digite a 2ª String
strcomp=strcmp(str1,str2,maxstr)
strcomp=0
F V
A 1ª String é maiorAs 2 Strings são
diferentes
Fim
49 de dezembro de 2014
Em C
// 1ª Opção
59 de dezembro de 2014
69 de dezembro de 2014
Em C
// 2ª Opção
79 de dezembro de 2014
89 de dezembro de 2014
Material Apoio:
Programação em C++ - Conceitos básicos e Algoritmos (FCA)
http://pt.wikibooks.org/wiki/Programar_em_C/Strings
strcmp
Se você tentar criar duas strings com o mesmo conteúdo e compará-las como faria como
números, verá que elas "não são iguais". Isso ocorre porque, na verdade, o que está
sendo comparado são os endereços de memória onde estão guardadas as strings. Para
comparar o conteúdo de duas strings, você deve usar a função strcmp (ou suas
variantes):
int strcmp (char *s1, char *s2);
O valor de retorno é:
• menor que zero se s1 for menor que s2;
• igual a zero se s1 e s2 são iguais;
• maior que zero se s1 for maior que s2.
Costuma parecer estranho dizer que uma string é menor ou maior que outra; na verdade
essa comparação é entre a primeira letra que difere nas duas strings. Assim, se
tivermos s1 = "abc" e s2 = "abd" , diremos que s2 é maior que s1, pois na primeira
posição em que as duas strings diferem, a letra em s2 é "maior".
É importante notar que a comparação feita por strcmp distingue maiúsculas de
minúsculas. Isto é, as strings "ABC" e "abc" não são iguais para essa função.
As variantes mais usadas de strcmp são:
• strncmp - compara apenas os n primeiros caracteres das duas strings, sendo n um
terceiro argumento.
• stricmp - compara duas strings sem distinção entre maiúsculas e minúsculas. A
sintaxe é igual à de strcmp. Essa função não faz parte da biblioteca padrão, mas é
comumente encontrada como extensão particular de várias delas.
http://codigoseficientes.blogspot.pt/2012/10/acentuacao-na-linguagem-c.html
99 de dezembro de 2014

Resolucao trabalho comparar_strings

  • 1.
    9/12/2014 Comparar 2Strings Programação I Ana Isabel Rodrigues LICENCIATURA INFORMATICA – 1º ANO - Nº 558
  • 2.
    Conteúdo ....................................................................................................................................................... 0 Algoritmo: Compararduas strings ................................................................................................ 2 Fluxograma: Comparar duas strings.............................................................................................. 3 // 1ª Opção ............................................................................................................................... 3 // 2ª Opção ............................................................................................................................... 4 Em C............................................................................................................................................... 5 // 1ª Opção ............................................................................................................................... 5 // 2ª Opção ............................................................................................................................... 7 Material Apoio:............................................................................................................................. 9 19 de dezembro de 2014
  • 3.
    Algoritmo: Comparar duasstrings [Inicialização de Variáveis] strcomp <-0 maxstr <- 80 char str1 char str2 [Leitura de Variáveis] str1 <- (“Digite a 1ª String”) str2 <- (“Digite a 2ª String”) [Calculo do Valor] strcomp=strcmp(str1,str2,maxstr) [Resultado] // 1ª Opção Se strcomp>0 então Escreve (“A 1ª String é maior”) Senão se strcomp<0 então Escreve(“A 2ª String é maior”) Senão Escreve (“As duas strings são iguais”) // 2ª Opção Se (strcomp(str1,str2)==0) então Escreve(“As suas strings são iguais”) Senão Escreve(“As duas strings são diferentes”) 29 de dezembro de 2014
  • 4.
    Fluxograma: Comparar duasstrings // 1ª Opção Inicio strcomp=0 maxstr=80 char str1 char str2 str1 Digite a 1ª String str2 Digite a 2ª String strcomp=strcmp(str1,str2,maxstr) strcomp>0 F V A 1ª String é maior strcomp<0 F V As 2 strings são iguais A 2ª String é maior Fim 39 de dezembro de 2014
  • 5.
    Fluxograma: Comparar duasstrings // 2ª Opção Inicio strcomp=0 maxstr=80 char str1 char str2 str1 Digite a 1ª String str2 Digite a 2ª String strcomp=strcmp(str1,str2,maxstr) strcomp=0 F V A 1ª String é maiorAs 2 Strings são diferentes Fim 49 de dezembro de 2014
  • 6.
    Em C // 1ªOpção 59 de dezembro de 2014
  • 7.
  • 8.
    Em C // 2ªOpção 79 de dezembro de 2014
  • 9.
  • 10.
    Material Apoio: Programação emC++ - Conceitos básicos e Algoritmos (FCA) http://pt.wikibooks.org/wiki/Programar_em_C/Strings strcmp Se você tentar criar duas strings com o mesmo conteúdo e compará-las como faria como números, verá que elas "não são iguais". Isso ocorre porque, na verdade, o que está sendo comparado são os endereços de memória onde estão guardadas as strings. Para comparar o conteúdo de duas strings, você deve usar a função strcmp (ou suas variantes): int strcmp (char *s1, char *s2); O valor de retorno é: • menor que zero se s1 for menor que s2; • igual a zero se s1 e s2 são iguais; • maior que zero se s1 for maior que s2. Costuma parecer estranho dizer que uma string é menor ou maior que outra; na verdade essa comparação é entre a primeira letra que difere nas duas strings. Assim, se tivermos s1 = "abc" e s2 = "abd" , diremos que s2 é maior que s1, pois na primeira posição em que as duas strings diferem, a letra em s2 é "maior". É importante notar que a comparação feita por strcmp distingue maiúsculas de minúsculas. Isto é, as strings "ABC" e "abc" não são iguais para essa função. As variantes mais usadas de strcmp são: • strncmp - compara apenas os n primeiros caracteres das duas strings, sendo n um terceiro argumento. • stricmp - compara duas strings sem distinção entre maiúsculas e minúsculas. A sintaxe é igual à de strcmp. Essa função não faz parte da biblioteca padrão, mas é comumente encontrada como extensão particular de várias delas. http://codigoseficientes.blogspot.pt/2012/10/acentuacao-na-linguagem-c.html 99 de dezembro de 2014