Advertisement
meta1211

Строки

Dec 3rd, 2017
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. Строки
  2. //57. Дана последовательность символов, имеющая следующий вид: d1± d2±…± dn (di - цифры, n>1), за которой следует точка. Вычислить значение этого алгебраического выражения.
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #define N 80
  7.  
  8. int sum(char *s)
  9. {
  10. int num,
  11. i = 1,
  12. sum = 0,
  13. sign = 1;
  14.  
  15. if (s[0] == '-') {
  16. sign = -1;
  17. num = sign * (s[1] - '0');
  18. i++;
  19. }
  20. else
  21. num = s[0] - '0';
  22. for (; s[i]; i++)
  23. {
  24. if (s[i] - '+')
  25. {
  26. if (s[i] - '-')
  27. {
  28. num = (num * 10) + sign * (s[i] - '0');
  29. }
  30. else
  31. {
  32. sum += num;
  33. sign = -1;
  34. num = sign * (s[++i] - '0');
  35. }
  36. }
  37. else
  38. {
  39. sum += num;
  40. sign = 1;
  41. num = s[++i] - '0';
  42. }
  43. }
  44. sum += num;
  45. return sum;
  46. }
  47.  
  48. int main()
  49. {
  50.  
  51. char str[N] = "251-51+125-20-50-12-8+20";
  52. printf("sum = %d\n",sum(str));
  53. system("pause");
  54. return 0;
  55. }
  56.  
  57. //40. Дан текст, состоящий из цифр, букв латинского и русского алфавита (заглавных и строчных). Напечатать только строчные русские буквы, входящие в этот текст.
  58. //Подключить UTF-8
  59. #include <stdio.h>
  60. #include <stdlib.h>
  61. #include <clocale>
  62.  
  63. #define N 80
  64. #define UnSh unsigned short
  65.  
  66. char *find_ru_letter(char *s)
  67. {
  68. int counter = 0;
  69. char *a = new char[N];
  70. for (UnSh int i = 0; s[i]; i++)
  71. if ((s[i] - 'а' >= 0) && (s[i] - 'я' <= 33) && s[i] != ' ')
  72. {
  73. a[counter++] = s[i];
  74. }
  75. a[counter] = '\0';
  76. return a;
  77. }
  78.  
  79. int main()
  80. {
  81. setlocale(LC_CTYPE, "rus");
  82. char str[N] = "DsДа ВыvFъью";
  83. char *ru_letter = find_ru_letter(str);
  84. puts(str);
  85. puts(ru_letter);
  86. system("pause");
  87. return 0;
  88. }
  89.  
  90. //Вложенные циклы
  91. //40. Дан текст, состоящий из цифр, букв латинского и русского алфавита (заглавных и строчных). Напечатать только строчные русские буквы, входящие в этот текст.
  92. //Подключить UTF-8
  93. #define _CRT_SECURE_NO_WARNINGS
  94. #include <stdio.h>
  95. #include <stdlib.h>
  96.  
  97. #define N 80
  98. #define UnSh unsigned short
  99.  
  100. double number(int count, int x)
  101. {
  102. double sum = 0,
  103. n = 1,
  104. x_in_pow = 1,
  105. k_fac = 1,
  106. s;
  107. for (UnSh int k = 1; k < count; k++)
  108. {
  109. n *= k;
  110. x_in_pow *= x;
  111. k_fac *= k;
  112. k_fac *= (k_fac + 1);
  113. s = -1 * x_in_pow / k_fac;
  114. sum += s;
  115. }
  116.  
  117. return sum/n;
  118. }
  119.  
  120. int main()
  121. {
  122. int n;
  123. double count;
  124. printf("input number and count:\n");
  125. scanf("%d",&n);
  126. scanf("%lf", &count);
  127. printf("%lf", number(count, n));
  128. system("pause");
  129. return 0;
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement