fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. double porownaj(const char* pierwszy, const char* drugi) {
  5.  
  6. if (pierwszy != NULL && drugi != NULL)
  7. {
  8. int ilosc_znakow_pierwszego = strlen(pierwszy);
  9. int ilosc_znakow_drugiego = strlen(drugi);
  10. int prawidlowa = 0;
  11. int ilosc_znakow_najwiekszego_stringa = 0;
  12.  
  13. if (ilosc_znakow_pierwszego > ilosc_znakow_drugiego)
  14. ilosc_znakow_najwiekszego_stringa = ilosc_znakow_pierwszego;
  15. else
  16. ilosc_znakow_najwiekszego_stringa = ilosc_znakow_drugiego;
  17.  
  18. int i = 0;
  19. for (; i < ilosc_znakow_najwiekszego_stringa; ++i)
  20. {
  21. if (pierwszy[i] == '\0' || drugi[i] == '\0')
  22. break;
  23.  
  24. if (pierwszy[i] != drugi[i]) --prawidlowa;
  25. else if (pierwszy[i] == drugi[i]) ++prawidlowa;
  26. }
  27.  
  28. double wynik = (ilosc_znakow_pierwszego + ilosc_znakow_drugiego) / 2.0;
  29. double finalny_wynik = prawidlowa / wynik;
  30.  
  31. return finalny_wynik;
  32. }
  33. return -1;
  34. }
  35.  
  36. int main()
  37. {
  38. printf("%f\n", porownaj("grzesiek", "grzesiek"));
  39. printf("%f\n", porownaj("grzesiak", "grzesiek"));
  40. return 0;
  41. }
Success #stdin #stdout 0s 4508KB
stdin
Standard input is empty
stdout
1.000000
0.750000