Advertisement
LilChicha174

Untitled

Apr 21st, 2022
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.84 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. typedef struct{
  6.     char *word;
  7.     char *translate;
  8. }dict;
  9.  
  10.  
  11. int main() {
  12.     char eblan1[100][300];
  13.     char eblan2[100][300];
  14.  
  15.     dict arr[300];
  16.  
  17.     int i = 0;
  18.     int c = 0;
  19.     int f = 0;
  20.  
  21.     for(;;){
  22.         fscanf(stdin, "%s", eblan1[c]);
  23.         if(!strcmp(eblan1[c], "ugabuga")) break;
  24.  
  25.         fscanf(stdin, "%s", eblan2[c]);
  26.  
  27.         for(int y = 0; y < i; ++y){
  28.             if(strcmp(eblan1[c], arr[y].word) == 0){
  29.                 arr[y].translate = eblan2[c];
  30.  
  31.                 f = 1;
  32.                 i--;
  33.                 c++;
  34.  
  35.                 break;
  36.             }
  37.  
  38.         }
  39.  
  40.         if(f == 0) {
  41.             arr[i].word = eblan1[c];
  42.             arr[i].translate = eblan2[c];
  43.         }
  44.  
  45.  
  46.         f = 0;
  47.         i++;
  48.  
  49.         c++;
  50.     }
  51.  
  52.     getchar();
  53.  
  54.     char str[1000];
  55.     fgets(str, 1000, stdin);
  56.  
  57.  
  58.     char *token;
  59.     char **array = malloc(i*sizeof(char*));
  60.  
  61.     for(int l = 0; l < i; ++l){
  62.         array[l] = malloc(100);
  63.     }
  64.  
  65.     token = strtok(str, " ");
  66.  
  67.     int k = 0;
  68.  
  69.     while(token != NULL){
  70.         array[k] = malloc(100);
  71.         array[k] = token;
  72.  
  73.         token = strtok(NULL, " \n");
  74.         k++;
  75.     }
  76.  
  77.     int flag = 0;
  78.  
  79.     for(int p = 0; p < k; p++){
  80.         for(int n = 0; n < i; n++){
  81.             if(!strcasecmp(array[p], arr[n].word)) {
  82.                 array[p] = arr[n].translate;
  83.                 flag = 1;
  84.                 break;
  85.             }
  86.         }
  87.         if(flag == 0){
  88.             array[p] = "<unknown>";
  89.         }
  90.  
  91.         flag = 0;
  92.     }
  93.  
  94.     int l;
  95.  
  96.     for(l = 0; l < k - 1; ++l){
  97.         printf("%s ", array[l]);
  98.     }
  99.     printf("%s", array[l]);
  100.  
  101.     for(int j = 0; j < i; ++j){
  102.         printf("%s---%s\n", arr[j].word, arr[j].translate);
  103.     }
  104.  
  105.  
  106.  
  107.     return 0;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement