Gadred
5 год назад
С++ или СИ
написать программу с комментариями что для чего, пожалуйста :
Функция Delete(s,n,l)
Назначение: удаление из строки s подстроки, начиная с позиции n, длиной l (аналогичная библиотечная Функция есть в Pascal).
ОТВЕТЫ
Аглаий
Aug 8, 2019
//Dev-C++ 5.11
#include lt;iostreamgt;
#include lt;stringgt;
using namespace std;
void DeleteStr(stringamp;, int, int);
int main(void)
{string s;
int n,l;
cingt;gt;sgt;gt;ngt;gt;l;
DeleteStr(s,n,l);
coutlt;lt;slt;lt;endl;
return 0;}
void DeleteStr(string amp;s, int n, int l)
{for(int i=n;ilt;s.length();i++) //начинаем удаление с n элемента
if(i+llt;s.length()) //проверка не выходит ли смещение за границы строки
s[i]=s[i+l]; //если не выходит, просто переносим символ с позиции+l
else
s[i]=\0; //иначе вводим на позицию пустой символ
}
Пример ввода:
Caster 1 4
Пример вывода:
Cr
#include lt;iostreamgt;
#include lt;stringgt;
using namespace std;
void DeleteStr(stringamp;, int, int);
int main(void)
{string s;
int n,l;
cingt;gt;sgt;gt;ngt;gt;l;
DeleteStr(s,n,l);
coutlt;lt;slt;lt;endl;
return 0;}
void DeleteStr(string amp;s, int n, int l)
{for(int i=n;ilt;s.length();i++) //начинаем удаление с n элемента
if(i+llt;s.length()) //проверка не выходит ли смещение за границы строки
s[i]=s[i+l]; //если не выходит, просто переносим символ с позиции+l
else
s[i]=\0; //иначе вводим на позицию пустой символ
}
Пример ввода:
Caster 1 4
Пример вывода:
Cr
203
Смежные вопросы: