Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Помогите плизз


Автор: Desha 4.5.2005, 21:12
Помогите плизз буду очень благодарна smile

Язык программирования: PASCAL
Разработать функцию PreLastSpace(const S:string):integer, определяющую позицию предпоследнего пробела в строке S. С помощью данной функции вывести только такие строки из введенного набора, в которых предпоследний пробел находится в седедине либо после середины строки.
Вход
В первой строке входа дано количество строк N. Затем следуют N строк, по одной в каждой строке.
Выход
На выход напечатать строки результата, по одной в каждой строке.
Пример
Вход:

3
abc
ab c
ab c
Выход:

ab c




Автор: Yanis 4.5.2005, 21:15
Сессия.... Для этого есть отдельный форум.

Автор: Yanis 4.5.2005, 21:27
Я так понял надо массив строк использовать? А массив статический или динамический? Я сделал со статическим:
Код

program _PreLastSpace;

{$APPTYPE CONSOLE}

function PreLastSpace(const S: string): integer;
var
  i, nSpace: Integer;
begin
  nSpace := 0;
  for i := Length(S) downto 1 do
    if S[i] = ' ' then
      begin
        nSpace := nSpace + 1;
        if nSpace <= 2 then
          begin
            Result := i;
            break;
          end;
      end;
end;

var
  S: array[1..10] of string;
  i, n: Integer;
begin
  readln(n);
  for i := 1 to n do
    readln(S[i]);

  for i := 1 to n do
    if (PreLastSpace(S[i]) >= (Length(S[i]) div 2)) then
      writeln(S[i]);
end.

Оно?
Добавлено @ 21:29
Это на Delphi =)

Автор: Alex 4.5.2005, 21:47
Перенесено из раздела Дельфи

Автор: Desha 4.5.2005, 23:31
Da malexo ne tudi smile 4eto ne xo4et prinimatj etot servak, tam poprobui te zna4enija sto v uslovii vvesti on vse vivodit smile a nado toko poslednee zna4enie
Добавлено @ 23:35
gdeto oshibka smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)