Facebook
From Fiery Treeshrew, 2 Years ago, written in C.
Embed
Download Paste or View Raw
Hits: 97
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. typedef struct string_t{
  5.     char val[30];
  6. } String;
  7.  
  8.  
  9. void insereStrEm(String *result, String *str1, int pos, String *str2){
  10.     int tam1 = strlen(str1->val);
  11.     int tam2 = strlen(str2->val);
  12.     for(int i = 0, k = 0; i < tam1+tam2; i++, k++){
  13.         if(i == pos){
  14.             for(int j = 0; j < tam2; j++){
  15.                 result->val[i] = str2->val[j];
  16.  
  17.                 i++;
  18.             }
  19.         }
  20.         result->val[i] = str1->val[k];
  21.     }
  22. }
  23.  
  24. int main(){
  25.     String str1;
  26.     String str2;
  27.     String result;
  28.     int pos;
  29.    
  30.     fgets(str1.val, 30, stdin);
  31.     fgets(str2.val, 30, stdin);
  32.     scanf("%i", &pos);
  33.    
  34.     int l1 = strlen(str1.val);
  35.     int l2 = strlen(str2.val);
  36.    
  37.     for(int i=0; i<l1; i++){ //remover o \n no final das strings
  38.         if(str1.val[i] == '\n') str1.val[i] = '\0';
  39.         if(str1.val[i] == '\r') str1.val[i] = '\0';
  40.     }
  41.     for(int i=0; i<l2; i++){
  42.         if(str2.val[i] == '\n') str2.val[i] = '\0';
  43.         if(str2.val[i] == '\r') str2.val[i] = '\0';
  44.     }
  45.    
  46.     insereStrEm(&result, &str1, pos, &str2);
  47.     for(int i = 0; i < l1+l2-2; i++){
  48.         printf("%c", result.val[i]);
  49.     }
  50. }