Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <Windows.h>
  4. using namespace std;
  5. void replace(char dest[], const char source[], size_t from, size_t len);
  6. {
  7. char buf[4096] = { 0 };
  8. strncpy_s(buf, &dest[0], from);
  9. buf[from] = '\0';
  10. strcat(buf, &source[0]);
  11. buf[from + strlen(source)] = '\0';
  12. strcat(buf, &dest[from + len]);
  13. dest[0] = '\0';
  14. strcat(dest, &buf[0]);
  15. }
  16. int main()
  17. {
  18. setlocale(LC_ALL, "rus");
  19. SetConsoleCP(1251);
  20. SetConsoleOutputCP(1251);
  21. cout << "Введите текст:";
  22. char s[180];
  23. cin.get(s, 180);
  24. int a = 0, b = 0, c = 0;
  25. char x[7] = "доллар";
  26. int pos[20] = { -1 };
  27. int size = 0;
  28. for (int i = 0; i < strlen(s); i++)
  29. {
  30. if (s[i] == ' ' && s[i + 1] == 'А' || i == 0 && s[i] == 'A')
  31. a++;
  32. if ( (s[i] == ' ' || i == 0) && !strncmp(&s[i+1], "Мало", strlen("Мало")) )
  33. b++;
  34. if ( ( s[i] == ' ' || i == 0) && !strncmp(&s[i+1], "мало", strlen("Мало")))
  35. c++;
  36. if (s[i] == 'д' && s[i + strlen(x) - 1] == 'р' && s[i + strlen(x)] == ' ')
  37. {
  38. pos[size] = i;
  39. size++;
  40. }
  41. }
  42. for (size_t i = 0; i < size; i++)
  43. {
  44. replace(s, "рубль", pos[i] - (strlen("доллар") - strlen("рубль"))*i , 6);
  45. }
  46. cout << "Количество слов начинающихся на А равно: ";
  47. cout << a << endl;
  48. cout << "Количество слов Мало равно: ";
  49. cout << b << endl;
  50. cout << "Количество слов мало равно: ";
  51. cout << c << endl;
  52. cout << s;
  53. system("pause");
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement