Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 8724
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Профессор
Рейтинг: 2904
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2584
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / C/C++

Номер выпуска:1693
Дата выхода:29.10.2011, 23:30
Администратор рассылки:Киселёва Алёна aka Verena (Профессор)
Подписчиков / экспертов:284 / 165
Вопросов / ответов:1 / 1

Консультация # 184303: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Структура данных “строка”. Нужно: 1. Текст модуля для реализации СД типа “строка”, текст программы для отладки модуля, тестовые данные результат работы программы. 2. Текст программы для решения задачи с использованием модуля, тестовые данные, результат работы прогр...


Консультация # 184303:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Структура данных “строка”. Нужно:
1. Текст модуля для реализации СД типа “строка”, текст программы для отладки модуля, тестовые данные результат работы программы.
2. Текст программы для решения задачи с использованием модуля, тестовые данные, результат работы программы.

Реализовать в Borland C++ Builder 6.0
Задание:
Заголовок: short function Word(string s).
Назначение: подсчет числа слов в строке s.
Входные параметры: s.
Выходные параметры: нет.

Использовать данный формат:
typedef char[65520] char1
struct string1{
char1 * st;{ признак конца строки–символ с кодом 0}
short n {количество символов в строке,определяется}
} ; {при инициализации}

void function InitStr(string1 st, short n)
void function WriteToStr(string1 st, string s) ;
void function WriteFromStr(string1 st, str ing s);
void function InputStr(string1 st)
void function OutputStr(string1const st)
bool function Comp(string1 s1, string1 s2, short fl)
void function Delete(string1 s, short index, short count)
void function Insert(String1 Subs, String1 S,short Index)
void function Concat(string1 S1, string1 S2, string1 srez)
void function Copy(String1 S,short Index, short Count, string1 Subs)
short function Length(string1 S)
short function Pos(string1 SubS, String1 S)
StrError: {тип переменной ошибки}

И желательно максимально прокомментировать все строки программы.Сапсибо!!!

Дата отправки: 21.10.2011, 23:08
Вопрос задал: Иванов Иван (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Киселёва Алёна aka Verena (Профессор):

Здравствуйте, Иванов Иван!
Вот пример реализации Вашей программы. Если что-то не так поняла в задании, скажите, поправлю, а то формулировка несколько странная. В приложении, собственно, класс строки. А вот пример того, как с его помощью можно написать функцию подсчёта числа слов. Поскольку в задании ничего не говорится о разделителях, используются только пробелы. Алгоритм подсчёта слов рассчитан на то, чтобы максимально продемонстрировать возможности класса, реально эту функцию я бы написала по-другому.

Код :
int Word (String1 str) //считаем число слов
{
 int k = 0; //пока 0
 while (str.Length()>0) { //пока не кончится строка
  int p = str.Pos (" "); //ищем вхождение пробела
  if (p<0) {k++; break;} //если нет - суммируем последнее слово и выходим
  if (p>0) k++; //если пробел не на первой позиции, суммируем слово
  str.Delete (0, p+1); //удаляем слово и пробел
 }
 return k; //возвращаем число слов
}

Проверяла на Visual Studio, но должно и на Borland-е работать. Если будут проблемы с синтаксисом, пишите, попробуем решить.
Удачи!

Приложение:

Консультировал: Киселёва Алёна aka Verena (Профессор)
Дата отправки: 29.10.2011, 00:01
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное