Advertisement
semenrbt

4.2

Feb 12th, 2020
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.03 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. int convert(char *str)  // Функция конвертации строки в число
  5. {
  6.   if(str == NULL) return -1;
  7.   int k = 0;
  8.   int count = 0;
  9.   int countOld = count;
  10.   int flag = 0;
  11.   while(str[k] > 13)
  12.   {
  13.     flag = 1; // На случай, если в строке будет 0, чтобы понимать, работал цикл или нет
  14.     if(str[k] < 48 || str[k] > 57) return -1; // Если найдено не число, то ошибка
  15.     count = count*10 + (str[k] - 48); // Формула преобразования в число
  16.     if(countOld > count) return -1;
  17.     countOld = count;
  18.     k++; // Переход на следующий элемент строки
  19.   }
  20.   if(countOld < count) return -1;
  21.   if(count == 0 && flag == 0) return -1; // Если не было найдено чисел
  22.   return count;
  23. }
  24.  
  25.  
  26. int main(void) {  
  27.   char Str[] = "888888";
  28.   int a = convert(Str);
  29.   if(a == -1) printf("Error.");
  30.   else printf("%d\n", a);
  31.   return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement