Задача 1. Получено сообщение, информационный объем которого равен 32 битам. чему равен этот объем в байтах?
Решение: В одном байте 8 бит. 32:8=4 ответ: 4 байта.
Задача 2. Объем информацинного сообщения 12582912 битов выразить в килобайтах и мегабайтах.
Решение: Поскольку 1Кбайт=1024 байт=1024*8 бит, то 12582912:(1024*8)=1536 Кбайт и поскольку 1Мбайт=1024 Кбайт, то 1536:1024=1,5 Мбайт ответ:1536Кбайт и 1,5Мбайт.
Задача 3. Компьютер имеет оперативную память 512 Мб. Количество соответствующих этой величине бит больше:
float min = arrayPtr[0]; // инициализируем первым элементом массива int number_min = 0; // номер минимального элемента for (int counter = 0; counter < length_array; counter++) { if (min > arrayPtr[counter]) { min = arrayPtr[counter]; // минимальный элемент number_min = counter; // номер минимального элемента } } cout << "номер минимального элемента = " << (number_min + 1) << endl; // номер минимального элемента
double product = 1; for (int counter = 0; counter < length_array; counter++) { if (arrayPtr[counter] < 0) // находим первое отрицательное число { counter++; // переключаемся на следующий элемент while (arrayPtr[counter] > 0) // пока не нашли второе отрицательное число { product *= arrayPtr[counter]; // накапливаем произведение элементов counter++; } break; // выход из цикла for } } cout << "произведение = " << product << endl;
float *relocation_arrayPtr = new float [length_array]; // одномерный динамический массив для перестановок int index = 0; // индекс массива перестановок
// заполняем массив элементами, модуль которых не превышает 1 for (int counter = 0; counter < length_array; counter++) { if (abs(arrayPtr[counter]) <= 1) { relocation_arrayPtr[index] = arrayPtr[counter]; index++; } }
// заполняем массив элементами, модуль которых больше 1 for (int counter = 0; counter < length_array; counter++) { if (abs(arrayPtr[counter]) > 1) { relocation_arrayPtr[index] = arrayPtr[counter]; index++; } }
Задача 1. Получено сообщение, информационный объем которого равен 32 битам. чему равен этот объем в байтах?
Решение: В одном байте 8 бит. 32:8=4
ответ: 4 байта.
Задача 2. Объем информацинного сообщения 12582912 битов выразить в килобайтах и мегабайтах.
Решение: Поскольку 1Кбайт=1024 байт=1024*8 бит, то 12582912:(1024*8)=1536 Кбайт и
поскольку 1Мбайт=1024 Кбайт, то 1536:1024=1,5 Мбайт
ответ:1536Кбайт и 1,5Мбайт.
Задача 3. Компьютер имеет оперативную память 512 Мб. Количество соответствующих этой величине бит больше:
1) 10 000 000 000бит 2) 8 000 000 000бит 3) 6 000 000 000бит 4) 4 000 000 000бит Решение: 512*1024*1024*8 бит=4294967296 бит.ответ: 4.
// operations_array.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
int main(int argc, char* argv[])
{
srand(time(NULL));
setlocale(LC_ALL, "rus");
int length_array;
cout << "Укажите количество элементов массива: ";
cin >> length_array;
float *arrayPtr = new float [length_array]; // одномерный динамический массив
// заполняем одномерный массив случайными числами
for (int counter = 0; counter < length_array; counter++)
{
arrayPtr[counter] = - 5.00 + ((rand() % 101) / 10.0); // генерируем случайные числа [-5, 5]
cout << arrayPtr[counter] << " "; // вывод сгенерированного числа
}
cout << endl;
float min = arrayPtr[0]; // инициализируем первым элементом массива
int number_min = 0; // номер минимального элемента
for (int counter = 0; counter < length_array; counter++)
{
if (min > arrayPtr[counter])
{
min = arrayPtr[counter]; // минимальный элемент
number_min = counter; // номер минимального элемента
}
}
cout << "номер минимального элемента = " << (number_min + 1) << endl; // номер минимального элемента
double product = 1;
for (int counter = 0; counter < length_array; counter++)
{
if (arrayPtr[counter] < 0) // находим первое отрицательное число
{
counter++; // переключаемся на следующий элемент
while (arrayPtr[counter] > 0) // пока не нашли второе отрицательное число
{
product *= arrayPtr[counter]; // накапливаем произведение элементов
counter++;
}
break; // выход из цикла for
}
}
cout << "произведение = " << product << endl;
float *relocation_arrayPtr = new float [length_array]; // одномерный динамический массив для перестановок
int index = 0; // индекс массива перестановок
// заполняем массив элементами, модуль которых не превышает 1
for (int counter = 0; counter < length_array; counter++)
{
if (abs(arrayPtr[counter]) <= 1)
{
relocation_arrayPtr[index] = arrayPtr[counter];
index++;
}
}
// заполняем массив элементами, модуль которых больше 1
for (int counter = 0; counter < length_array; counter++)
{
if (abs(arrayPtr[counter]) > 1)
{
relocation_arrayPtr[index] = arrayPtr[counter];
index++;
}
}
// напечатать преобразованный массив
cout << "\nПреобразованный массив:\n";
for (int counter = 0; counter < length_array; counter++)
{
cout << relocation_arrayPtr[counter] << " ";
}
cout << endl;
// высвобождение памяти отводимой под одномерный динамический массив:
delete [] arrayPtr;
delete [] relocation_arrayPtr;
system("pause");
return 0;