Написать прогу в С++. Дана строка, состоящая из групп нулей и единиц. Подсчитать количество единиц в группах с нечетным количеством символов.
10-11 класс
|
Допустим, что эти группы разделены пробелами.(а если нет, то просто замени второй аргумент в функции strtok с " " на "0")
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <cstring>
using std::strtok;
using std::strlen;
int main()
{
int counter = 0;
char s[] = "00000 1111111 000 1111 111111 00000000 11111";
char *sPtr;
cout << s << endl;
sPtr = strtok(s, " ");
while(sPtr != NULL)
{
if(strlen(sPtr) % 2 != 0 && *sPtr == '1')
{
counter += strlen(sPtr);
}
sPtr = strtok(NULL, " ");
}
cout << counter << endl;
cin.get();
return 0;
}
Другие вопросы из категории
123--->64--->32--->16--->8--->2--->1 123=1*64+1*32+1*16+1*8+0*4+1*2+1*1=1111011(2)
1 муляжи продуктов в витрине магазина
2 чучело птицы
3 заводной игрушечный автомобиль
Саша спросил Сережу "Сколько тебе лет?" Сережа ответил "Если бы число моих лт увеличить в три раза, а потом уменьшить на 17, то мне было бы 16 лет" Сколько лет Сереже?
Читайте также
вот пример который считает количество едениц в строках с нечётным количеством символов
//---------------------------------------------------------------------------
#include
#include
#include
#include
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
int n,s, i, nst,p,k, len,t=0;
char a[81];
puts(" Input string ");
gets(a);
len = strlen(a);
s=0;
n=0;
a[len+1]='\0';
a[len]=' ';
for(i=0; i<=len; i++)
{
if(a[i]!=' ')
{
n++;
if(a[i]=='1')
t++;
}
else
{
if(n%2!=0)s+=t;
n=0;
t=0;
}
}
printf("\nkoli4ectvo 1= %d", s);
puts("\nPress any key to close ... ");
getch();
return 0;
}
//---------------------------------------------------------------------------
Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Найти количество слов в строке.
чем у последующего
пяти звездочек (*****), а в конец строку из пяти символов черточек (-----).