@dangor266

Какие функции из библиотеки string.h использовать для решения задачи?

Есть задачка, нужно решить её двумя способами, первым я её уже решил. Осталось решить вторым способом, используя функции из библиотеки string.h.
Сама задача 61a7eaeab1e0e213716764.png
/*
* Задача №258:
* Даны натуральное число n, символы s1,...,sn.
* Удалить из данной последовательности все группы букв вида abcd.
*/
#include <stdio.h>
#include <locale.h>
#include <string.h>

int main()
{
	
	int numberOfCharacters;
	char characterSubsequence[256];
	char modifiedCharacterSubsequence1[256];
	char modifiedCharacterSubsequence2[256] = "";

	char* go;

	int i = 0; // счетчик исходной последовательности characterSubsequence[];
	int j = 0; // счетчик итоговой последовательности modifiedCharacterSubsequence1[];
	int k = 0; // счетчик итоговой последовательности modifiedCharacterSubsequence2[];
	
	
	setlocale(LC_ALL, "Rus");


	printf("Введите количество символов в последовательности:\n");
	scanf_s("%d", &numberOfCharacters); //число n
	printf("\n");


	printf("Введите последовательность, длиной %d символов:\n", numberOfCharacters);
	numberOfCharacters++;
	scanf_s("%s", characterSubsequence, numberOfCharacters); //символы s1,...,sn
	printf("\n");
	
	/*
	* 1 способ
	* обработка символьного массива 
	* с использованием кодов символов 
	* (или сравнение с символьной константой)
	*/

	do {

		if ((characterSubsequence[i] == 'a') and (characterSubsequence[i + 1] == 'b') and (characterSubsequence[i + 2] == 'c') and (characterSubsequence[i + 3] == 'd'))
		{
			i = i + 4;
		}
		else
		{
			modifiedCharacterSubsequence1[j] = characterSubsequence[i];
			i++;
			j++;
		}
	} while (i < numberOfCharacters);
	i = 0;
	j = 0;

	/*
	* 2 способ
	* обработка строк с использованием
	* функций работы со строками
	* (библиотека string.h)
	*/



	

	printf("Полученные значения:\n\n");
	numberOfCharacters--;
	printf("Количество символов в последовательности = %i\n\n", numberOfCharacters);
	printf("Исходная последовательность символов: %s\n\n", characterSubsequence);
	printf("Итоговая последовательность символов, полученная первым способом: %s\n\n", modifiedCharacterSubsequence1);
	printf("Итоговая последовательность символов, полученная вторым способом: %s\n\n", modifiedCharacterSubsequence2);




	return 0;
	
}
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
strstr()
strcpy()
может быть понадобится
strchr()
strcmp()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы