Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

Engenharia de software

Por:   •  4/4/2018  •  5.137 Palavras (21 Páginas)  •  336 Visualizações

Página 1 de 21

...

Código Fonte:

#include

void mystrcpy(char s[], char t[]) {

int i = 0;

while ((s[i] = t[i]) != '\0') {

i++;

}

}

int main() {

char str1[] = "abc";

char str2[] = "LinguagemC";

printf("str1 antes da copia = %s", str1);

printf("str2 antes da copia = %s", str2);

mystrcpy(str1, str2);

printf("str1 depois da copia = %s", str1);

printf("str2 depois da copia = %s", str2);

return 0;

}

Saídas e testes:

Entradas: str1 = “abc” ; str2 = “LinguagemC”.

Saídas:

[pic 5]

Conclusões:

Resultados conforme esperado.

Descrição:

- Escrever função void mystrcpy (char *s, char *t) que copia uma string t para s, usando ponteiros.

Solução:

Usar um laço while para copiar o conteúdo da segunda string para a primeira, até que o caracter copiado seja o caracter nulo.

Código Fonte:

#include

void mystrcpy(char *s, char *t) {

while(*s++ = *t++);

}

int main() {

char str1[] = "abc";

char str2[] = "LinguagemC";

printf("str1 antes da copia = %s", str1);

printf("str2 antes da copia = %s", str2);

mystrcpy(str1, str2);

printf("str1 depois da copia = %s", str1);

printf("str2 depois da copia = %s", str2);

return 0;

}

Saídas e testes:

Entradas: str1 = “abc” ; str2 = “LinguagemC”.

Saídas:

[pic 6]

Conclusões:

Resultados conforme esperado.

Descrição:

- Escrever função int mystrcmp (char s1[], char s2[]) que compara duas strings s1 e s2, usando vetores, e retorna: 0 se as strings forem iguais (lexicograficamente); positivo se s1 > s2; e negativo se s2 > s1. Exemplo: s1="abcde" e s2 = "bcde" => retorna negativo

Solução:

Usar um laço while para comparar o conteúdo das strings. Dentro do laço sempre é checado se uma o caracter é nulo e, caso seja, retorna zero. Quando for encontrada alguma diferença, retorna o caracter da string1 menos o caracter da string2.

Código Fonte:

#include

int mystrcmp(char s1[], char s2[]) {

int i = 0;

while(s1[i] == s2[i]) {

if (s1[i] == '\0') {

return 0;

}

i++;

}

return s1[i] - s2[i];

}

int main() {

char str1[] = "abcde";;

char str2[] = "bcde";;

char str3[] = "linguagemC";;

char str4[] = "abc";;

char str5[] = "abc";;

char str6[] = "abc";;

printf("Comparando %s com %s\n%d\n", str1, str2, mystrcmp(str1, str2));

printf("Comparando %s com %s\n%d\n", str3, str4, mystrcmp(str3, str4));

printf("Comparando %s com %s\n%d\n", str5, str6, mystrcmp(str5, str6));

return 0;

}

Saídas e testes:

Entradas: str1 = “abcde” ; str2 = “bcde”. Resultado: negativo.

str1 = “linguagemC” ; str2 = “abc”. Resultado: positivo.

str1 = “abc” ; str2 = “abc”. Resultado: zero.

Saídas:

[pic 7]

Conclusões:

Resultados conforme esperado.

Descrição:

- Escrever função int mystrcmp (char *s1, char *s2) que compara duas strings s1 e s2, usando ponteiros, e retorna: 0 se as strings forem iguais (lexicograficamente); positivo se s1 > s2; e negativo se s2 > s1. Exemplo: s1="abcde" e s2 = "bcde" => retorna negativo

Solução:

Usar um laço while para

...

Baixar como  txt (45.7 Kb)   pdf (151.6 Kb)   docx (70.7 Kb)  
Continuar por mais 20 páginas »
Disponível apenas no Essays.club