Помогите в с++ билдер. В строке, состоящей из групп нулей и единиц, подсчитать количество символов в самой длинной группе.(напишите код в консоли)...
10-11 класс
|
вот пример который считает количество едениц в строках с нечётным количеством символов
//---------------------------------------------------------------------------
#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;
}
//---------------------------------------------------------------------------
Вот на шарпе.
Console.WriteLine("s1=");
string s1=Console.ReadLine();
int k=1;int max=0;
for (int i = 1; i < s1.Length-1; i++)
{
if (s1[i-1] == s1[i])
{
k++;
}
else
{
if (k > max)
{
max = k;
k = 1;
}
}
}
Console.WriteLine(max);
Console.ReadKey();
Другие вопросы из категории
прогрессии и сумму первых n членов Sn. Если Sn≤25, то вычислить процентное отношение первого и последнего членов арифметической прогрессии . Написать программу на языке Паскаль
В массиве а1, а2, ..., а50 определить
количество нулей
Как формируется доменная система имен?
Как работает транспортный протокол? Протокол маршрутизации ?
Читайте также
пяти звездочек (*****), а в конец строку из пяти символов черточек (-----).
Ввод
В первой строке находится единственное число N.
Вывод
Каждое выражение выводится в отдельной строке.
Ограничения
1 ≤ N ≤ 14, N - четное.
Вывести все правильные скобочные выражения длиной N, состоящие из круглых и квадратных скобок.
Ввод
В первой строке находится единственное число N.
Вывод
Каждое выражение выводится в отдельной строке.
Ограничения
1 ≤ N ≤ 14, N - четное.
расположенных между максимальным и минимальным элементами.
Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
ну или исправьте мое пжл
program fgf;
var mas:array[1..100] of real;
max,min:real;
i,n,c,b:shortint;
p:real;
f1,g:text;
begin;
assign (f1, 'input.txt');
reset (f1);
readln (f1, n);
for i:=1 to N do read (mas[i]);
max:=mas[i];
for i:=2 to N do begin
if mas[i]>max then begin
max:=mas[i];
c:=i;
end;
end;
min:=mas[1];
for i:=2 to N do begin
if mas[i]<min then begin
max:=mas[i];
b:=i;
end;
end;
close(f1);
assign (g, 'output.txt');
rewrite (g);
p:=1;
if b<c then I:=b+1 and c-1
else for I:=c+1 to b-1 do p:=p*mas[i];
if (n<3) or (b+1=c) or (c+1=b) then writeln(g,'0.00') else write(p:3:3) ;
close (g);
end.
Напиши цифровой фильтр. На вход программе подаётся строка символов. На выходе должны быть только её цифры. Например, если на входе была строка
He110, k177en!
то на выходе должно быть
110177
2. В строке, состоящей из слов, разделённых одним или несколькими пробелами, вывести второе слово. Например, если на вход программе подавалась строка
Меня истина манит сияньем
то на выходе будет
истина
На вход подаётся строка. Вывести часть входной часть строки. Часть строки задаётся номером первого символа и количеством символов.
var
s: string;
n, k, i: integer;
Begin
readLn(s, n, k);
for i := n to n+k-1 do write(s[i]);
End.
2. На вход подаётся предложение на английском языке. Вывести все гласные строки в том порядке, в котором они встречались в строке.
(ключевой фрагмент)
for i := 1 to length(s) do
if s[i] in ['A', 'E', 'I', 'O', 'Y', 'a', 'e', 'i', 'o', 'y']
then write(s[i]);
Варианты программы определения, является ли строка полиндромом
--------------------------------------------------------------
var
s, s1: string;
i: integer;
Begin
readLn(s);
s1 := '';
for i := 1 to length(s) do s1 := s[i] + s1;
write('строка ');
if s1 <> s then write('не ');
writeLn('является полиндромом');
End.
var
s: string;
i, j: integer;
Begin
readLn(s);
i := 1;
j := length(s);
while (i < j) and (s[i] = s[j]) do begin
inc(i);
dec(j);
end;
write('строка ');
if s[i] <> s[j] then write('не ');
writeLn('является полиндромом');
End.