Advertisement
Ciro_meneses

Mistura 2 strings

May 15th, 2015
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main () {
  6.   char s1[50], s2[50], sf[110];
  7.   int i1 = 0, i2 = 0, i3 = 0;
  8.  
  9.   scanf("%[^\n]s", s1);
  10.   getchar();// sem isso o primeiro scanf escreve no segundo scanf -- "Doideiras do C."
  11.   scanf("%[^\n]s", s2);
  12.  
  13.   printf("\nString1: %s", s1);
  14.   printf("\nString2: %s", s2);
  15.  
  16.  
  17.   while ( s1[i1] != '\0' || s2[i2] != '\0' ) {
  18.  
  19.     //Caça palavras na primeira string
  20.     while (s1[i1] != '\0') {// while palavra 1
  21.       if (s1[i1] != ' ') {
  22.         sf[i3] = s1[i1];
  23.         i3 ++;
  24.         if (s1[i1+1] == '\0') {
  25.           sf[i3] = ' ';
  26.           i3++;
  27.         }
  28.       }
  29.       else if (s1[i1] == ' ') {// achou espaço. para a busca e sai do while palavra 1
  30.         i1++;
  31.         sf[i3] = ' ';
  32.         i3++;
  33.         break;
  34.       }
  35.       i1++;
  36.     }
  37.  
  38.  
  39.     //Caça palavras na segunda string
  40.     while (s2[i2] != '\0') {// while palavra 2
  41.       if (s2[i2] != ' ') {
  42.         sf[i3] = s2[i2];
  43.         i3 ++;
  44.         if (s2[i2+1] == '\0') {
  45.           sf[i3] = ' ';
  46.           i3++;
  47.         }
  48.       }
  49.       else if (s2[i2] == ' ') { //achou espaco e sai do while palavra 2
  50.         i2++;
  51.         sf[i3] = ' ';
  52.         i3++;
  53.         break;
  54.       }
  55.       i2++;
  56.     }
  57.  
  58.   }
  59.  
  60.  
  61.   sf[i3-1] = '\0';
  62.  
  63.   printf ("\n%s", sf);
  64.  
  65.   return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement