Дано слово «информатика». Путем склеивания и вырезания получить слова «форма» и «мак» - C (СИ)
Формулировка задачи:
Дано слово «информатика». Путем склеивания и вырезания получить слова «форма» и «мак».
Решение задачи: «Дано слово «информатика». Путем склеивания и вырезания получить слова «форма» и «мак»»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char* word = "информатика";
int i;
int length = strlen(word);
char first_string[5];
strncpy(first_string, word + 2, 5);
printf("First string: %s\n", first_string);
char tmp_string[5];
strncpy(tmp_string, word + 5, sizeof(tmp_string));
printf("Temp string: %s\n", tmp_string);
int j = 2;
memmove(&tmp_string[j], &tmp_string[j + 2], strlen(tmp_string) - j);
printf("second string: %s\n", tmp_string);
return EXIT_SUCCESS;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Объявление переменной типа int для хранения длины слова
- Объявление массива первого подстроки размером 5 символов
- Копирование первых 5 символов из исходного слова в массив first_string с помощью функции strncpy
- Вывод первого массива на экран с помощью функции printf
- Объявление массива второго подстроки размером 5 символов
- Копирование следующих 5 символов из исходного слова во второй массив с помощью функции strncpy
- Вывод второго массива на экран с помощью функции printf
- Объявление переменной типа int для хранения индекса, с которого нужно переместить символы во втором массиве
- Перемещение символов во втором массиве с помощью функции memmove
- Вывод второго массива на экран с помощью функции printf
- Завершение работы программы с помощью функции exit