Advertisement
Mihajlo_K

8.1 Исти знаци (стрингови)

Mar 19th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.83 KB | None | 0 0
  1. /* Да се напише програма во која од тастатура се читаат две низи од знаци (два стринга). Потоа да се направи споредба на знаците што се наоѓаат на исти позиции во двете текстуални низи, при што ако соодветните знаци се исти тогаш тие се заменуваат со знакот * во двете низи, а во спротивно - остануваат непроменети. На крај да се испечати вкупниот број на позиции во кои низите се совпаѓаат. Споредбата да се реализира со посебна функција која што на влез ги прима двете низи од знаци, а како резултат го враќа бројот на позиции во кои низите се совпаѓаат. Должината на двете низи може да биде различна. Задачата да се реши со помош на покажувачи. */
  2.  
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <ctype.h>
  6. #define MAX 100
  7.  
  8. int cmp(char *a, char *b)
  9. {
  10.     int i = 0, k = 0;
  11.     while(*(a+i) != '\0')
  12.     {
  13.         if(*(a+i) == *(b+i))
  14.         {
  15.             *(a+i) = '*';
  16.             *(b+i) = '*';
  17.             k++;
  18.         }
  19.         i++;
  20.     }
  21.     return k;
  22. }
  23. int main()
  24. {
  25.     int i;
  26.     char a[MAX], b[MAX], ch;
  27.     for(i = 0; i < MAX&&(ch = getchar())!='\n'; i++)
  28.     {
  29.         a[i] = ch;
  30.     }
  31.     a[i] = '\0';
  32.     for(i = 0; i < MAX && (ch = getchar())!='\n'; i++)
  33.     {
  34.         b[i] = ch;
  35.     }
  36.     b[i] = '\0';
  37.    
  38.     printf("%d\n", cmp(&a, &b));
  39.     printf("%s\n", a);
  40.     printf("%s\n", b);
  41.     return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement