Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Передача строк в качестве параметров функций




Выделение памяти под строки

В следующем фрагменте программы динамически выделяем память под строку переменной длины и копируем туда исходную строку.

 

//стандартная функция strlen подсчитывает количество

//символов в строке

int length = strlen(src_str);

// выделить память и добавить один байт

// для завершающего нулевого байта

char* buffer = new char[length + 1];

strcpy(buffer, src_str); // копирование строки

 

Операция new возвращает адрес выделенной памяти.

 

Строки при передаче в функции могут передаваться как одномерные массивы типа char или как указатели типа char*. В отличие от обычных массивов в функции не указывается длина строки, т. к. в конце строки есть признак конца строки /0.

 

Пример

//Функция поиска заданного символа в строке

int find(char *s,char c)

{

for (int I=0;I<strlen(s);I++)

if(s[I]==c) return I;

return –1;

}

 

Задание

1. Запустите C++Builder.

2. Составьте программу, в которой с клавиатуры вводится строка символов и обрабатывается в соответствии с вариантом задания (таблица), используя функции.

3. Выполните компиляцию программы. При наличии ошибок внесите исправления.

4. Сдайте отчет преподавателю.

 

Варианты

Задача
  Для встречающихся в заданном тексте пар рядом расположенных символов указать, сколько раз встречается каждое из таких двухбуквенных сочетаний
  Отредактировать предложение, удаляя из него лишние пробелы, оставляя только по одному пробелу между словами
  В заданном тексте удалить символ "," и подсчитать число удаленных символов
  Для каждого символа заданного текста указать, сколько раз он встречается в тексте. Сообщение об одном символе должно печататься не более одного раза
  Для каждого слова заданного предложения указать долю согласных. Определить слово, в котором доля согласных максимальна
  Удалить все гласные буквы из строки
  Отредактировать заданное предложение, заменяя многоточия точкой
  В заданном предложении найти самое короткое и самое длинное слово
  Подсчитать количество слов в строке
  Удалить из текста символы " " и подсчитать длину сформированного текста
  Удалить каждое четное слово из строки
  Перевернуть каждое четное слово в строке
  Удалить из строки все слова, заканчивающиеся на гласную букву
  Удалить из строки все слова, начинающиеся на гласную букву
  Перевернуть каждое четное слово в строке
  В заданном тексте удалить символ "," и подсчитать число удаленных символов
  В заданном предложении найти самое короткое и самое длинное слово
  Найти симметричные слова заданного предложения, например АЛЛА
  Удалить все согласные буквы из строки
  Проверить, имеется ли в заданном тексте баланс открывающих и закрывающих скобок
  Удалить из текста символы "," и подсчитать длину сформированного текста
  Для каждого слова заданного предложения указать долю гласных. Определить слово, в котором доля гласных минимальна
  Удалить каждое нечетное слово из строки
  Отредактировать заданное предложение, заменяя запятые пробелом
  Из текста выбрать числа и записать в массив N




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 297; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.