Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_информатика4.doc
Скачиваний:
59
Добавлен:
07.02.2015
Размер:
13.31 Mб
Скачать

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

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

//стандартная функция 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