brsjak

Isti znaci vo stringovi - SP Lab 9

Nov 1st, 2016
722
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.24 KB | None | 0 0
  1. /*Исти знаци во стрингови Problem 1 (4 / 4)
  2. Да се напише програма во која од тастатура се читаат две низи од знаци. Потоа да се направи споредба на знаците на соодветни позиции од двете текстуални низи така што ако соодветните знаци се исти, тогаш тие се заменуваат со знакот * во двете низи, а во спротивно, остануваат непроменети. На крај да се испечати вкупниот број на знаци во кој низите се совпаѓаат. Споредбата да се реализира со посебна функција што на влез ги прима двете низи од знаци, а како резултат го враќа бројот на знаци во кој низите се совпаѓаат. Должината на двете низи може да биде различна. Задачата да се реши со помош на покажувачи.*/
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. void sporedba(char *str1, char *str2, int a, int b)
  8.     {
  9.         int i;
  10.     if(a<b) //pogolemata niza prva
  11.         {
  12.             for(i=0;i<b;i++)
  13.             {
  14.                 if(*(str1+i)==*(str2+i)) //prv_element1+pozicija==prv_element2+pozicija
  15.                 {
  16.                     *(str1+i)='*';
  17.                     *(str2+i)='*';
  18.                 }
  19.             }
  20.         }
  21.     else
  22.         {
  23.         for(i=0;i<a;i++)
  24.             {
  25.             if(*(str1+i)==*(str2+i)) //
  26.                 {
  27.                 *(str1+i)='*';
  28.                 *(str2+i)='*';
  29.                 }
  30.             }
  31.         }
  32.     }
  33. int main ()
  34.     {
  35.         char maxa[1000];
  36.         char maxb[1000];
  37.         gets(maxa);
  38.         gets(maxb);
  39.         int a=strlen(maxa);
  40.         int b=strlen(maxb);
  41.         int n=0, i;
  42.         sporedba(maxa, maxb, a, b);
  43.         for(i=0;i<a;i++)
  44.         {
  45.             if(*(maxa+i)=='*')
  46.             {
  47.                 n++;
  48.             }
  49.         }
  50.         printf("%d\n", n);
  51.         printf("%s\n", maxa);
  52.         printf("%s\n", maxb);
  53.         return 0;
  54.     }
Add Comment
Please, Sign In to add comment