Гым, спасибо, заработало. Смешение стилей произошло из-за пока нечеткого знания ообоих языков, но стремлюсь к этому.
И еще одну, последнюю программу помогите перевести
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
s,tmp: string;
i, predl, slov, slovk: integer;
begin
readln(s);
s:=s+' ';
tmp:='';
i:=0;
predl:=0;
slov:=0;slovk:=0;
while i<>length(s) do
begin
inc(i);
case s[i] of
'.','!': if s[i+1]=' ' then
begin
inc(predl);
if slovk<slov then slovk:=slov;
slov:=0;
end;
' ': inc(slov);
end;
end;
if predl>slovk then s:='>' else s:='<';
if predl=slovk then s:='=';
writeln('otdelnih predlosenii ',predl,s,slovk,' slov v samom bolsom predlosenii');
readln;
end.
Код:
/*
* Определяет чего в строке больше: отдельных предложений
* или слов в самомо большом предложежнии. Самое большое придложение
* определеяется по кол-ву отельных слов, а не символов.
*/
AnsiString s, tmp;
int i, predl, slov, slovk;
int main(int argc, char* argv[])
{
scanf("%d", s);
// s = "asdsd s dad as dad a d";
s = s + " ";
tmp = "";
i = 0;
predl = 0;
slov = 0;
slovk = 0;
while (i != s.Length())
{
i = i++;
switch (s[i])
{
case '.', ',', '!':
{
if (s[i + 1] == ' ')
{
predl = predl++;
if (slovk < slov){slovk = slov;}
slov = 0;
}
break;
};
case ' ':
{
slov = slov++;
break;
}
}
}
if (predl > slovk){s = ">";}
else s = "<";
if (predl = slovk) s = "=";
cout << "otdelnih predlozheniy\n", predl, s, slovk, " slov v samom bolshm predlozhenii";
return 0;
}
В такой переаботки значения predl, s, slovk вапще не выводятся. Немогу понять из-за чего, проде бы все правильно.(