#include <iostream> #include <string> using namespace std;
void DeleteStr(string&, int, int);
int main(void) {string s; int n,l; cin>>s>>n>>l; DeleteStr(s,n,l); cout<<s<<endl; return 0;}
void DeleteStr(string &s, int n, int l) {for(int i=n;i<s.length();i++) //начинаем удаление с n элемента if(i+l<s.length()) //проверка не выходит ли смещение за границы строки s[i]=s[i+l]; //если не выходит, просто переносим символ с позиции+l else s[i]='\0'; //иначе вводим на позицию пустой символ }
Формула нахождения размера файла - I=t*b*f*k,где t - это время в секундах,b - глубина кодирования ,f - частота дискретизации,k - количество каналов.Перейдём к задаче => 2 минуты - 120 секунд, 8кГц - 8 000 отсчётов в секунду - представим как 2^3*2^10;16 = 2^4, Нужно помнить ,что 1 Мбайт = 2^20 байт = 2^23 бит, 1 Кбайт = 2^10 байт = 2^13 бит т.к нам надо ответь дать в мегабайтах.Делим всё на 2^23 120 представим как 60*2
I=1*2^3*2^10*2^4*120/2^23=2^17*2*60/2^23=2^18*60/2^23=> степени сокращаем получаем 60/2^5 =>60/32 = примерно 1,875 => округляем до целых будет 2 .ответ 2 мегабайта.
#include <iostream>
#include <string>
using namespace std;
void DeleteStr(string&, int, int);
int main(void)
{string s;
int n,l;
cin>>s>>n>>l;
DeleteStr(s,n,l);
cout<<s<<endl;
return 0;}
void DeleteStr(string &s, int n, int l)
{for(int i=n;i<s.length();i++) //начинаем удаление с n элемента
if(i+l<s.length()) //проверка не выходит ли смещение за границы строки
s[i]=s[i+l]; //если не выходит, просто переносим символ с позиции+l
else
s[i]='\0'; //иначе вводим на позицию пустой символ
}
Пример ввода:
Caster 1 4
Пример вывода:
Cr
8кГц - 8 000 отсчётов в секунду - представим как 2^3*2^10;16 = 2^4,
Нужно помнить ,что 1 Мбайт = 2^20 байт = 2^23 бит, 1 Кбайт = 2^10 байт = 2^13 бит
т.к нам надо ответь дать в мегабайтах.Делим всё на 2^23
120 представим как 60*2
I=1*2^3*2^10*2^4*120/2^23=2^17*2*60/2^23=2^18*60/2^23=> степени сокращаем получаем 60/2^5 =>60/32 = примерно 1,875 => округляем до целых будет 2 .ответ 2 мегабайта.