Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <stdio.h>
- #include <string.h>
- #include <math.h>
- int dlina(char* str, int nach, char* net) {
- int k = 0;
- for (int i = 0; !(strrchr(net, str[nach + i])) && str[i] != '\0'; i++)
- k++;
- return k - 1;
- }
- int check(char* str, int* i, int dlin) {
- char proverka[] = { '2','3','4','5','6','7','8','9' };
- int j = *i;
- printf("\nя дал %s %d %d\n", str, j, dlin);
- for (j; j < *i + dlin; j++) {
- if (!(strrchr(proverka, str[j]))) {
- *i += dlin;
- printf("гоп стоп");
- return 0;
- }
- }
- return 1;
- }
- int num(char* str, int i) {
- if (str[i] == '1')
- return 1;
- return 0;
- }
- int res(char* str, int* i, int dlin) {
- int k = 0;
- int j = *i;
- while (dlin >= 0) {
- k += pow(2, dlin) * num(str, j);
- printf("\n%d %d\n", num(str, j), k);
- j++; dlin--;
- }
- *i = j + dlin;
- return k;
- }
- int main() {
- char str[81];
- char razdel[] = { ' ', '.' , ',' , ' ', '!' , '?' , '\0'};
- int dlin;
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- printf("Введите предложение: ");
- fgets(str, 81, stdin);
- for (int i = 0; str[i] != '\0'; i++) {
- if (!(strrchr(razdel, str[i]))) {
- dlin = dlina(str, i, razdel);
- if (check(str, &i, dlin))
- printf("Ответ %d ", res(str, &i, dlin));
- }
- }
- printf("\n");
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement