Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.02.2009, 20:01
badsanta165 badsanta165 вне форума
Прохожий
 
Регистрация: 20.11.2008
Сообщения: 18
Репутация: 10
По умолчанию Помогите с паскалем

Кароче ребята такое дело, мне надо оч срочно решить 1-ну проблемку.

У нас есть строка, в ней что то записано, вот. Надо посчитать так называемые количество (параметров).

-Параметры могут содержать латинские буквы и пробелы. Если параметр содержит пробелы, он должен обрамляться кавычками.

То-есть. Дана строка:

assa "er fgh" fgh "ghg hh" gfghh

На экране должно высветиться 5.
Это кусочек из олимпиадной задачи, которую мне завтра надо сдать, помогите пожалуйста.
__________________
Моя подпись

Последний раз редактировалось badsanta165, 18.02.2009 в 20:03.
Ответить с цитированием
  #2  
Старый 18.02.2009, 20:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,088
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну так и делай.
Идем по строке, как по массиву.
Если встречаем пробел, то говорим, что один параметр отловлен.
Если встречаем кавычку, то несмотря ни на что топаем до второй кавычки - еще один параметр. Так и считаем.

Код:
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  
Старый 18.02.2009, 22:28
badsanta165 badsanta165 вне форума
Прохожий
 
Регистрация: 20.11.2008
Сообщения: 18
Репутация: 10
По умолчанию

Блин ребята весь день мучаюсь, мож кто решит. У меня уже сил нету.
Вот условие :

Интерфейс командной строки является одним из известнейших и старейших способов взаимодействия человека и компьютера. Рассмотрим упрощенные правила формирования команд в интерфейсе:

1. Команда состоит только из набора латинских букв
2. Команда может иметь параметры и опции
3. Параметры и опции отделяются друг от друга и от команды произвольным кол-вом пробелов, порядок следования опций и параметров — произволен.
4.Параметры могут содержать латинские буквы и пробелы. Если параметр содержит пробелы, он должен обрамляться кавычками
5.Опции могут содержать латинские буквы и начинаются со знаков "-" или "/".

Создать программу, которая получает на входе (файл input.txt или стандартный входной поток) строку, содержающую команду (возможно — с параметрами и опциями). Проанализировав команду, программа должна возвратить (файл output.txt или стандартный выходной поток) слово «Error», если строка не соответствует стандарту формирования команд. В противном случае программа должна возвратить количество параметров и опций команды (два числа через пробел).

Пожалуйста - вопрос жизни и смерти!!!!
__________________
Моя подпись
Ответить с цитированием
  #4  
Старый 18.02.2009, 22:59
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

без вопросов, Go to в платный раздел, моя цена - $20.

ЗЫЖ Если сроки сильно срочные (типа от часу до 12) - то $50
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025