#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;
Объём информации о чём? Если о количестве сделанных ходов, то это 15=Fh, то есть достаточно 4бит(полубайта), но, подозреваю, что объём совсем не этой информации требуется найти. Уточни, какой.
Иначе "пойди туда, не знаю, куда; принеси то, не знаю, что". Не в сказке ж живём.
Да, ещё раз почитал, может речь идет о последовательности ходов и её объёме?
В этом случае всё просто - объём равен 15*n, где n-количество байт на один ход.
Ячейку можно кодировать двумя разными
1. последовательно их перенумеровав. В этом случае макс. номер будет 24(если нумеровать с 0). Так как 2^4 <24< 2^5, то для такой нумерации потребуется 5 бит.
2. Указавая строку,столбец, каждая из которых находится в интервале (1,5), ну или (0,4)
на что потребуется 3 бита, а на пару 6 бит.
Таким образом экономней.
И запись 15 ходов можно поместить в 15*5=75бит= 10байт
#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;
}
Очень нечётко сформулировано!
Объём информации о чём? Если о количестве сделанных ходов, то это 15=Fh, то есть достаточно 4бит(полубайта), но, подозреваю, что объём совсем не этой информации требуется найти. Уточни, какой.
Иначе "пойди туда, не знаю, куда; принеси то, не знаю, что". Не в сказке ж живём.
Да, ещё раз почитал, может речь идет о последовательности ходов и её объёме?
В этом случае всё просто - объём равен 15*n, где n-количество байт на один ход.
Ячейку можно кодировать двумя разными
1. последовательно их перенумеровав. В этом случае макс. номер будет 24(если нумеровать с 0). Так как 2^4 <24< 2^5, то для такой нумерации потребуется 5 бит.
2. Указавая строку,столбец, каждая из которых находится в интервале (1,5), ну или (0,4)
на что потребуется 3 бита, а на пару 6 бит.
Таким образом экономней.
И запись 15 ходов можно поместить в 15*5=75бит= 10байт
Или всё же не это имелось в виду?