Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Собственных функций для обработки символьных данных

Поиск

Цель работы – дальнейшееовладение навыкамиалгоритмизации и программирования задач, обрабатывающих символьные данные, написания собственной функции для обработки символьных данных.

Задания для самостоятельной подготовки:

1. Изучить способы передачи параметров в функцию, работу с указателями, возврат из функции указателя на массив.

2. Разработать алгоритм решения в соответствии с заданием.

3. Составить программу решения задачи.

4. Подготовить тестовый вариант исходных данных для проверки работы программы.

Таблица 8

Вариант задания Условия задачи
  Заданы две строки. Спроектировать и написать функцию, формирующую третью строку из цифр первой строки, которых нет во второй строке, и проиллюстрировать ее использование в программе (заданные символы во вторую строку входят однократно).
  Заданы две строки. Спроектировать и написать функцию, формирующую третью строку из латинских букв, которые есть одновременно и в первой и во второй строках (заданные символы в результирующую строку входят однократно).
  Заданы две строки. Спроектировать и написать функцию, формирующую третью строку из латинских букв, которые есть либо в первой, либо во второй строках (заданные символы в результирующую строку входят однократно).
  Задан файл. Спроектировать и написать функцию, подсчитывающую построчно символы, встречающиеся в строке файла один раз.
  Задана строка. Спроектировать и написать функцию, формирующую вторую строку из символов первой, встречающихся в ней многократно (заданные символы в результирующую строку входят однократно).
  Задана строка. Спроектировать и написать функцию, формирующую вторую строку из символов первой, составляющих заданное слово (задается номер слова).
  Задана строка. Спроектировать и написать функцию, формирующую вторую строку из символов первой, осуществляя замену последовательности символов A[I] на X[i] (последовательности задаются пользователем).
  Заданы две строки. Спроектировать и написать функцию, формирующую третью строку из символов первой строки, которых нет во второй строке (заданные символы в результирующую строку входят однократно).
  Заданы две строки. Спроектировать и написать функцию, формирующую третью строку из символов, которые есть одновременно и в первой и во второй строках (заданные символы в результирующую строку входят однократно).
  Заданы две строки. Спроектировать и написать функцию, формирующую третью строку из символов первой строки, которые во второй строке встречаются один раз (заданные символы в результирующую строку входят однократно).
  Заданы две строки. Спроектировать и написать функцию, формирующую третью строку из символов первой строки, которые во второй строке встречаются многократно (заданные символы в результирующую строку входят однократно).
  Задана строка. Спроектировать и написать функцию, формирующую вторую строку, в которой сначала записаны все цифры, а затем все буквы первой строки (заданные символы в результирующую строку входят однократно).

Продолжение таблицы 8

  Заданы две строки. Спроектировать и написать функцию, формирующую третью строку из символов, которые есть одновременно и в первой и во второй строках (заданные символы в результирующую строку входят однократно).
  Задана строка. Спроектировать и написать функцию, формирующую вторую строку из символов первой, составляющих заданное слово (задается номер слова).
  Задан файл. Спроектировать и написать функцию, подсчитывающую построчно символы, встречающиеся в строке файла один раз.

Задание к работе:

  1. Составить и выполнить на ЭВМ программу обработки символьных данных в соответствии с вариантом задания, указанного в табл. 8.
  2. Проверить правильность выполнения программы с помощью тестового варианта.

 

Пример выполнения работы

Задана строка. Спроектировать и написать функцию, осуществляющую вставку последовательности символов в строку с заданной позиции (вставляемая последовательность задается пользователем).

В функцию вставки необходимо передавать три параметра: исходную строку, вставляемую строку, номер символа после которого осуществлять вставку. Функция возвращает один результат – адрес полученной строки (совпадает с адресом исходной строки). Исходная строка состоит из двух частей: первой подстроки – после которой нужно осуществить вставку символов, и второй – перед которой нужно осуществить вставку символов. В функции объявляется локальная переменная – указатель на 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

}

Контрольные вопросы

  1. Перечислить способы ввода и вывода символьных данных.
  2. Назвать специальные функции, используемые для обработки символьных данных.
  3. Пояснить применение указателей при работе с символьными данными.
  4. Указать, что служит признаком окончания строки.

Лабораторная работа №11



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 205; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.250.115 (0.005 с.)