выписываешь все уникальные(?) символы, которые есть в предложении.
Аисх = {С, Т, О, И, П, Н, А, К, Е, Л, пробел, запятая};
считаешь их общее количество.
Mисх = 12;
смотрим формулу.
М = (это та же формула N = , просто буковки другие, да)
подставляем число 12 под М, но т.к. тут такая непонятная штука со степенью, то подставляем наименьшее целое i, удовлетворяющее следующему неравенству: M <
теперь подставим известное значение мощности исходного алфавита:
12 < , следовательно i = 4(бит). тройка быть не может, т.к. = 8, а 8 < 12.
теперь каждому символу самостоятельно присваиваешь уникальную кодовую комбинацию. удобнее всего это сделать в виде таблицы. например:
С Т О
0010 1111 0100 и т.д.
теперь пишешь в строчечку все эти комбинации.
001011110100........ не забудь про пробелы и запятые.
чтобы рассчитать объем полученного текстового файла, тебе нужно общее количество символов предложения (34) умножить на 4 бита. это и будем объемом полученного файла.
*если что, то в строчку нужно писать комбинации символов всего предложения, а не только этих 12.
#include <iostream> #include <cstdlib> #include <ctime> int main() { using namespace std; cout << "Enter size of array: "; int N; cin >> N; int * ARR = new int[N]; srand(time(0)); int i; for (i = 0; i < N; ++i) ARR[i] = rand() % 100 + 1;
cout << "Here is an original array:\n"; for (i = 0; i < N; ++i) cout << ARR[i] << " "; cout << endl;
int temp = ARR[N - 1]; for (i = N - 1; i > 0; --i) ARR[i] = ARR[i - 1]; ARR[0] = temp;
cout << "\nHere is a new array:\n"; for (i = 0; i < N; ++i) cout << ARR[i] << " "; cout << endl;
Объяснение:
выписываешь все уникальные(?) символы, которые есть в предложении.
Аисх = {С, Т, О, И, П, Н, А, К, Е, Л, пробел, запятая};
считаешь их общее количество.
Mисх = 12;
смотрим формулу.
М = (это та же формула N = , просто буковки другие, да)
подставляем число 12 под М, но т.к. тут такая непонятная штука со степенью, то подставляем наименьшее целое i, удовлетворяющее следующему неравенству: M <
теперь подставим известное значение мощности исходного алфавита:
12 < , следовательно i = 4(бит). тройка быть не может, т.к. = 8, а 8 < 12.
теперь каждому символу самостоятельно присваиваешь уникальную кодовую комбинацию. удобнее всего это сделать в виде таблицы. например:
С Т О
0010 1111 0100 и т.д.
теперь пишешь в строчечку все эти комбинации.
001011110100........ не забудь про пробелы и запятые.
чтобы рассчитать объем полученного текстового файла, тебе нужно общее количество символов предложения (34) умножить на 4 бита. это и будем объемом полученного файла.
*если что, то в строчку нужно писать комбинации символов всего предложения, а не только этих 12.
надеюсь, все правильно и понятно.
#include <cstdlib>
#include <ctime>
int main()
{
using namespace std;
cout << "Enter size of array: ";
int N;
cin >> N;
int * ARR = new int[N];
srand(time(0));
int i;
for (i = 0; i < N; ++i)
ARR[i] = rand() % 100 + 1;
cout << "Here is an original array:\n";
for (i = 0; i < N; ++i)
cout << ARR[i] << " ";
cout << endl;
int temp = ARR[N - 1];
for (i = N - 1; i > 0; --i)
ARR[i] = ARR[i - 1];
ARR[0] = temp;
cout << "\nHere is a new array:\n";
for (i = 0; i < N; ++i)
cout << ARR[i] << " ";
cout << endl;
return 0;
}