Турбо Паскаль.

интернет компьютеры

Определить наибольшее количество идущих подряд * в произвольном ряду напр. abcd**efw***ddff**втвет

Решил через char, но хочу найти решение через string.

Примечание:
program third;
uses crt;
var a,d,c:char;
g,k,n,i:integer;
begin
clrscr;
textcolor(14);
g:=0;
k:=0;
readln(c);
if c='1' then begin
readln(d);
repeat
readln(a);
if a='*' then begin
k:=k+1;
if k>g then g:=k;
end;
until a=d;
writeln;
writeln(g);
end
else
begin
readln(n);
for i:=1 to n do begin
readln(a);
if a='*' then begin
k:=k+1;
if k>g then g:=k;
end;
end;
writeln;
writeln(g);
end;
readkey;
end.

Примечание:
здесь два способа через char в одной проге

Примечание:
оп-па...
извините, обнулялку забыл

program third;
uses crt;
var a,d,c:char;
g,k,n,i:integer;
begin
clrscr;
textcolor(14);
g:=0;
k:=0;
readln(c);
if c='1' then begin
readln(d);
repeat
readln(a);
if a='*' then begin
k:=k+1;
if k>g then g:=k;
end
else
k:=0;
until a=d;
writeln;
writeln(g);
end
else
begin
readln(n);
for i:=1 to n do begin
readln(a);
if a='*' then begin
k:=k+1;
if k>g then g:=k;
end
else
k:=0;
end;
writeln;
writeln(g);
end;
readkey;
end.

Примечание:
Артёмка,
всё понятно(в отличии от предыдущего).
Вопрос закрыт.
Ответы:
Через стринги? xD
ну String это вообще-то ряд(массив) из элементов типа char
А твоя программа точно работает? Попробуй такой тест:
a*a*a*a*a
и посмотри, какой ответ она выдаст.
Я бы написал так:
var s: string;
   i, k, res: integer;
begin
 readln(s);
 k := 0;
 res := 0;
 for i := 1 to length(s) do
   if s[i] = '*' then inc(k)
   else begin
     if res < k then res := k;
     k := 0;
   end;
 if res < k then res := k;
 writeln(res);  
end.


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.