Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Строка(((

Разор Маккалахан Мастер (1119), закрыт 15 лет назад
Задача.Дана последовательность из n символов.Известно, что в последовательности имеется хотя бы одна запятая.Найти номер:
а). первой по порядку запятой;
б). последней по порядку запятой.
Использовать только циклы и функции, связанные и типом CHAR!!!!
Умоляю!!!!(((
Как я понял, надо задать строку, потом, если в этой строке есть запятая, то её надо поминять на цифру, то есть ord(i) i - строка!Только не знаю как правильно написать!
Лучший ответ
Propellerhead ViJ Мастер (1045) 15 лет назад
хм.. . я канеш бредовей сделал, но вот

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;
var
s:string;
n,p2,k:integer;
begin
s:='tupo, stroka s, simvolami, nu i zapjataja est, da da';
writeln(s);
writeln;
k:=0;
n:=length(s);
for n:=1 to n do
begin
if (s[n]=',') then
begin
k:=k+1;
p2:=n;
if k=1 then write('pervaja zapjataja - simvol nomer ',n);
end;
end;
writeln;
if k>1 then writeln ('Poslednjaja zapjataja - simvol nomer ', p2);
writeln('end program'); readln;
end.

У меня работает
Остальные ответы
Павел Богомолов Мастер (2096) 15 лет назад
Зачем? Не надо такого делать. Надо просто получить номер по порядку этих запятых:
var
s: string;
i, first, last : integer;
begin
first := pos(s,',');
for i := 1 to length(s) do
if s = ',' then last := i
end;
StAnger Профи (548) 15 лет назад
не правильно ты понимаешь - нужно найти позицию запятой в строке, на цифру менять запятую нет смысла. пробуй оператор pos(x,y). Инфы в нете полно. В цикле проверяешь каждый символ на содержание запятой, если это первая запятая, то пишешь ее место нахождение, ну и заодно проверяй - последняя запятая или нет. задача - не более 10-20 строк.
Источник: ХОЛОВА
Похожие вопросы