Строка: подсчитать количество единиц в группах с нечетным количеством символов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Дана строка, состоящая из групп нулей и единиц. Подсчитать количество единиц в группах с нечетным количеством символов.
Сколько не пробовал - не получалось. В чем ошибка? Подскажите, знающие, чайнику.
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. void main()
  4. {
  5. char st[30];
  6. int n=0,k=0;
  7. printf("Vvod stroki:");
  8. gets(st);
  9. for(int i=0;st[i]!='\0';i++)
  10. {
  11. do
  12. {
  13. n++;
  14. }while(st[i]!=' ');
  15. if(n%2!=0)
  16. {
  17. if (st[i]=='1')
  18. k++;
  19. }
  20. printf("%d",k);
  21. k=0;
  22. n=0;
  23. if (st[i]==' ')
  24. i++;
  25. }
  26. getch();
  27. }

Решение задачи: «Строка: подсчитать количество единиц в группах с нечетным количеством символов»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int ones_count(const char * s) {
  5.     return ( *s ) ? *s - '0' + ones_count(s + 1) : 0;
  6. }
  7.  
  8. #define DELIM " \t\n"
  9.  
  10. int main(void) {
  11.     char str[] = "001 111 0111010 011111", * p;
  12.    
  13.     for ( p = strtok(str, DELIM); p; p = strtok(NULL, DELIM) )
  14.         if ( strlen(p) & 1 )
  15.             printf("%s - %d\n", p, ones_count(p));
  16.    
  17.     return 0;
  18. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы