ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.02.2024
Просмотров: 6
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего образования «Уральский федеральный университет имени первого Президента России Б.Н. Ельцина» (УрФУ)
Институт радиоэлектроники и информационных технологий
Отчёт
По лабораторной работе №3
11 Вариант
Выполнял: Ведунов А.И._______________
Проверил: ___________________________
Группа:РИ-111121_____________________
Екатеринбург
2022
Задание
Написать программу, удаляющую заданную подстроку из строки. Строка и подстрока вводятся в «диалоговом» режиме.
Постановка задачи
Исходными данными для этой задачи будут значения элементов массивов. Массив символов строки и массив символов подстроки. Так же стоит и то, что программа будет работать корректней с английской кириллицей.
Метод решения
Нужно провести удаление элементов массива подстроки из массива строки.
i=0
l=0
Начало
Схема алгоритма
1
нет
2
m=0
pr=0
i=0
k=0
1
да
нет
да
нет
k>0
2
st[p]=str[0]
да
нет
да
pr=0
m=0
k=k-1
pr=0
нет
st[p+y]=str[y]
pr=pr+1
да
4
5
3
5
4
3
нет
pr=k
Такой подстроки в строке нет
нет
st
ca>0
да
результат:
ca=ca+1
st[p+m]=st[p+n] str[m]=str[n]
m++
да
конец
Код программы
#include
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL,"RUS");
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
printf("Лабораторная работа - 3, Ведунов А.И., РИ-111121\n");
printf("Удалить подстроку из строки\n");
char str[256];
char st [256];
printf("Введите строку:\n");
gets(st);
printf("Введите подстроку:\n");
gets(str);
int i=0,l=0,k,m,ca,pr,w;
//Количество симвалов в строке
while (st[i]!=0)
{
l++;
i++;
}
i=0;
k=0;
//Количество симвалов в подстроке
while (str[i]!=0)
{
k++;
i++;
}
m=0;
pr=0;
while (k>0)
{
for (int p=0;p
{
{
pr=0;
if (st[p]==str[0])
for (int y=0;y
if (st[p+y]==str[0+y]) pr=pr+1;
else;
if (pr==k)
{
for (int n=1;n
{
st[p+m]=st[p+n];
str[0+m]=str[0+n];
m++;
}
ca++;
}
}
}
m=0;
k--;
pr=0;
}
printf("Результат:\n");
if (ca>0) puts(st);
else cout << "Такой подстроки в строке нет" << endl;
return 0;
}
Проверка
-
Строка
Подстрока
Результат
Параметр
арам
петр
Классный вечер
вечер
классный
I’m so sorry
so
I’m sorry