FranciscoSoccol

Lista 07 - Exercicio 10

Aug 9th, 2013
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.20 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. //prototipos
  5. int strlem1(char str1[]);
  6. int strlem2(char str2[]);
  7. void strcpy1(char str1[]);
  8. void strcpy2(char str2[]);
  9. int strcmp(char str1[], char str2[]);
  10.  
  11.  
  12. int main()
  13. {
  14.     char str1[50], str2[50];
  15.     printf("Digite a primeira palavra: ");
  16.     gets(str1);
  17.     printf("Digite a segunda palavra: ");
  18.     gets(str2);
  19.  
  20.     system("cls");
  21.     printf("Primeira: %s\nSegunda: %s\n\n",str1,str2);
  22.     printf("Primeira tamanho: %d\n", strlem1(str1));
  23.     printf("Segunda tamanho: %d\n\n", strlem2(str2));
  24.     strcpy1(str1);
  25.     strcpy2(str2);
  26.     printf("\n\nComparacao:\n01)Primeira>Segunda\n0)Primeira=Segunda\n-1)Primeira<Segunda\nResposta: %d\n\n",strcmp(str1, str2));
  27. }
  28.  
  29. //funça strlem
  30. int strlem1(char str1[])
  31. {
  32.     int i=0, cont=0;
  33.     while(str1[i]!='\0'){//contando as letras
  34.         cont++;
  35.         i++;}
  36.     return cont;
  37. }
  38.  
  39. int strlem2(char str2[])
  40. {
  41.     int i=0, cont=0;
  42.     while(str2[i]!='\0'){//contando as letras
  43.         cont++;
  44.         i++;}
  45.     return cont;
  46. }
  47.  
  48. //funçao strcpy
  49. void strcpy1(char str1[])
  50. {
  51.     int i=0, cont=0;
  52.     char aux[50];
  53.  
  54.     while(str1[i]!='\0'){
  55.         aux[i]=str1[i];//cpia uma possiçao para aux
  56.         i++;
  57.         cont++;
  58.         }
  59.     for(i=cont;i<50;i++)//preenche o restante do vetor com \0 para nao exibir lixo
  60.        aux[i]='\0';
  61.     printf("Primeira copiada: %s\n", aux);
  62. }
  63.  
  64. void strcpy2(char str2[])
  65. {
  66.     int i=0, cont=0;
  67.     char aux[50];
  68.  
  69.     while(str2[i]!='\0'){
  70.         aux[i]=str2[i];//cpia uma possiçao para aux
  71.         i++;
  72.         cont++;
  73.         }
  74.     for(i=cont;i<50;i++)//preenche o restante do vetor com \0 para nao exibir lixo
  75.        aux[i]='\0';
  76.     printf("Segunda copiada: %s\n", aux);
  77. }
  78.  
  79. //funçao ctrcmp
  80. int strcmp(char str1[], char str2[])
  81. {
  82.     int i, aux=0, tam1;
  83.     tam1=strlem1(str1);//recebe o tamanho da primeira palavra
  84.  
  85.     for(i=0;i<tam1;i++)
  86.         {
  87.          if(str1[i]<str2[i]){//se a primeira for maior
  88.             aux=1;
  89.             break;}
  90.             else if(str1[i]>str2[i]){//se a segunda for maior
  91.                 aux=-1;
  92.                 break;}
  93.         }//se na entrar em nenhum dos ifs, palavras iguais
  94.     return aux;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment