Страница 1 из 1

памагите вот сетим я зделал 3 остались эти

Добавлено: 17 май 2007, 13:51
wewe
1. задание
1.дана строка. подсчитать количество содержащихся в ней прописных латинских букв.
--------------------------------------------------------------------------------------------------------
2. задание
1.дан символ C и строки S, S0. перед каждым вхождением символа C в строку S вставить строку S0.
------------------------------------------------------------------------------------------------------
3. задание
1.дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). найти количество слов, которые содержат ровно три буквы «а».

я тихо фигею, дорогая редакция....

Добавлено: 17 май 2007, 16:08
BBB
1.

Код: Выделить всё

int iLoop,
    iCount;
    S : srting;
begin
  S := 'дана строка. подсчитать количество содержащихся в ней прописных латинских букв. Считай-не считай, а получишь 0.'
  iCount := 0;
  for iLoop := 1 to Length (S)
     if (S [iLoop] in ['A'..'Z']) then
       Inc (iCount);
  writeln ('V ukazannoi stroke ', iCount, ' propisnyh latinskih bukaf');
end.
2.

Код: Выделить всё

  iCurrSymbNum := Length (S);
  while (iCurrSymbNum > 0) do
     begin
        if (S [iCurrSymbNum] = C) then
           Insert (S0, S, iCurrSymbNum);
        Dec (iCurrSymbNum);
     end;

Re: памагите вот сетим я зделал 3 остались эти

Добавлено: 18 май 2007, 06:00
Oleg_Rus
3.
если прочитать файл по-символьно и проверять ординату каждого символа
если ордината текущего символа равна тому-то и предыдущий не равен ординате пробела, то увеличивай счетчик кол-ва символа а, предыдущий символ присвоить текущий, читать следующий символ, иначе счетчик обнуяем...

примерный план - много недочетов, но это думаю сам сделаешь. основная идея.

Re: памагите вот сетим я зделал 3 остались эти

Добавлено: 18 май 2007, 13:35
Хыиуду
если не хочется разбивать строку на слова

Код: Выделить всё

for i:=1 to length(s) do
begin
  if s[i]='A' then inc(counta)
  else if s[i]=' ' then 
  begin
      if counta=3 then inc(count);
      counta:=0;
  end
end;
count - число искомых слов, counta - число букв А в слове, перед циклом обнулить