![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Кароче ребята такое дело, мне надо оч срочно решить 1-ну проблемку.
У нас есть строка, в ней что то записано, вот. Надо посчитать так называемые количество (параметров). -Параметры могут содержать латинские буквы и пробелы. Если параметр содержит пробелы, он должен обрамляться кавычками. То-есть. Дана строка: assa "er fgh" fgh "ghg hh" gfghh На экране должно высветиться 5. Это кусочек из олимпиадной задачи, которую мне завтра надо сдать, помогите пожалуйста. Последний раз редактировалось badsanta165, 18.02.2009 в 20:03. |
|
#2
|
|||
|
|||
|
Ну так и делай.
Идем по строке, как по массиву. Если встречаем пробел, то говорим, что один параметр отловлен. Если встречаем кавычку, то несмотря ни на что топаем до второй кавычки - еще один параметр. Так и считаем. Код:
function CalcParams(AStr : String) : Integer;
var
I : Integer;
begin
Result := 0;
I := 1;
While I <= Length(AStr)Do
Begin
If AStr[i] = ' '
Then
Begin
Inc(Result);
End
Else
If AStr[i] = '"' Then
Begin
Inc(I);
While (AStr[i] <> '"') And (I <= Length(AStr)) Do Inc(I);
End;
Inc(I);
End;
If AStr <> '' Then Inc(Result); // 1 param.
end;Вроде так. |
|
#3
|
|||
|
|||
|
Блин ребята весь день мучаюсь, мож кто решит. У меня уже сил нету.
Вот условие : Интерфейс командной строки является одним из известнейших и старейших способов взаимодействия человека и компьютера. Рассмотрим упрощенные правила формирования команд в интерфейсе: 1. Команда состоит только из набора латинских букв 2. Команда может иметь параметры и опции 3. Параметры и опции отделяются друг от друга и от команды произвольным кол-вом пробелов, порядок следования опций и параметров — произволен. 4.Параметры могут содержать латинские буквы и пробелы. Если параметр содержит пробелы, он должен обрамляться кавычками 5.Опции могут содержать латинские буквы и начинаются со знаков "-" или "/". Создать программу, которая получает на входе (файл input.txt или стандартный входной поток) строку, содержающую команду (возможно — с параметрами и опциями). Проанализировав команду, программа должна возвратить (файл output.txt или стандартный выходной поток) слово «Error», если строка не соответствует стандарту формирования команд. В противном случае программа должна возвратить количество параметров и опций команды (два числа через пробел). Пожалуйста - вопрос жизни и смерти!!!! |
|
#4
|
||||
|
||||
|
без вопросов, Go to в платный раздел, моя цена - $20.
ЗЫЖ Если сроки сильно срочные (типа от часу до 12) - то $50 |