Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Собственных функций для обработки символьных данныхСодержание книги
Поиск на нашем сайте
Цель работы – дальнейшееовладение навыкамиалгоритмизации и программирования задач, обрабатывающих символьные данные, написания собственной функции для обработки символьных данных. Задания для самостоятельной подготовки: 1. Изучить способы передачи параметров в функцию, работу с указателями, возврат из функции указателя на массив. 2. Разработать алгоритм решения в соответствии с заданием. 3. Составить программу решения задачи. 4. Подготовить тестовый вариант исходных данных для проверки работы программы. Таблица 8
Продолжение таблицы 8
Задание к работе:
Пример выполнения работы Задана строка. Спроектировать и написать функцию, осуществляющую вставку последовательности символов в строку с заданной позиции (вставляемая последовательность задается пользователем). В функцию вставки необходимо передавать три параметра: исходную строку, вставляемую строку, номер символа после которого осуществлять вставку. Функция возвращает один результат – адрес полученной строки (совпадает с адресом исходной строки). Исходная строка состоит из двух частей: первой подстроки – после которой нужно осуществить вставку символов, и второй – перед которой нужно осуществить вставку символов. В функции объявляется локальная переменная – указатель на char. В нее запоминается адрес символа, перед которым будет осуществлена вставка (адрес начала второй подстроки). На позицию вставки (после первой подстроки) записывается символ ‘\0’ – признак окончания строки. Добавляется вставляемая строка и вторая подстрока, адрес которой был запомнен в локальной переменной.
Программа решения задачи имеет вид: #include <stdio.h> //подключение файла #include <string.h> //подключение файла
char *insertstr (char *s,int n1,char *t) //заголовок функции insertstr { //объявление локальной переменной-указателя char *l; strcpy(l,s+n1); //копирование второй части строки s[n1]='\0'; //запись '\0' на позицию вставки strcat(s,t); //добавление вставляемой строки strcat(s,l); //добавление второй части строки return s; //завершение функции insertstr }
void main() //заголовок функции main {char str[255], a[80]; int n; // объявление переменных printf("Введите строку\n"); gets(str); printf("Введите вставляемую последовательность\n"); gets(a); printf("Введите номер символа после которого осуществлять вставку\n"); scanf(“%d”,&n) //ввод значений переменных strcpy(str,insert(str,n,a)); //вызов функции strcpy, копирующей в str, значение, Возвращаемое функцией insert printf("Полученная строка\n%s\n",str); //вывод значения переменной return; //завершение функции main } Контрольные вопросы
Лабораторная работа №11
|
||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-19; просмотров: 205; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.250.115 (0.005 с.) |