В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
buchsandra
buchsandra
05.01.2021 01:21 •  Информатика

Производится четырёхканальная (квадро) звукозапись с частотой дискретизации 32 кГц
и 32-битным разрешением. Запись длится 2 минуты, её результаты записываются в файл,
сжатие данных не производится. Определите приблизительно размер полученного файла
(в Мбайт). В качестве ответа укажите ближайшее к размеру файла целое число, кратное 5.
2. Производится двухканальная (стерео) звукозапись с частотой дискретизации 32 кГц и
32-битным разрешением. Запись длится 3 минуты, её результаты записываются в файл,
сжатие данных не производится. Определите приблизительно размер полученного файла в
Мбайт. В качестве ответа укажите ближайшее к размеру файла целое число, кратное 10.
Задача на повторение
3. Какой минимальный объём памяти (в Кбайт) нужно зарезервировать, чтобы можно
было сохранить любое растровое изображение размером 1024x1024 пик при условии, что
в изображении могут использоваться 32 различных цветов?

Показать ответ
Ответ:
sas4ha
sas4ha
26.08.2022 13:45

1) если нужно найти произведение элементов с нечетными индексами:

#include <iostream>

#include <cmath>

#include <vector>

using namespace std;

signed main() {

   int a[20];

   srand(time(NULL));

   for(int i = 0; i < 20; i++)

       a[i] = rand()%46 - 19;

   for(auto i: a)

       cout << i << " ";

   cout << "\n";

   long long ans = 1;

   for(int i = 0; i < 20; i++)

       if(i % 2 == 1)

           ans *= a[i];

   cout << ans;

}

2) Если нужно найти произведение элементов с нечетными порядковыми номерами:

#include <iostream>

#include <cmath>

#include <vector>

using namespace std;

signed main() {

   int a[20];

   srand(time(NULL));

   for(int i = 0; i < 20; i++)

       a[i] = rand()%46 - 19;

   for(auto i: a)

       cout << i << " ";

   cout << "\n";

   long long ans = 1;

   for(int i = 0; i < 20; i++)

       if((i+1) % 2 == 1)

           ans *= a[i];

   cout << ans;

}

0,0(0 оценок)
Ответ:
perf3ctkn1ghtozbgjn
perf3ctkn1ghtozbgjn
26.08.2022 13:45

Как исповедующий подход на атомарное разбиение кода на функции/методы/классы, предпочитаю видеть код, в котором каждая операция выполняется в своей функции.

Это упрощает повторное использование кода, да и мыслить такой код проще, чем когда тебе в одной функции нужно отслеживать несколько состояний для их синхронизации.

В данном задании действие этого подхода видно слабо.

P.S. srand(time(nulptr)) и rand() - "плохой" получения случайных чисел, так как время находится под контролем пользователя и он может выставлять время специально. Но "хороший" реализовывать здесь смысла нет.

===========================

Если решение удовлетворило, не забудь отметить его как "Лучшее".

===========================

Код:

#include <iostream>

#include <cstdlib>

#include <ctime>

int rand_range(int min, int max) {

   return std::rand() % (max - min + 1) + min;

}

int* random_sequence(int N, int min, int max) {

   int *arr = new int[N];

   for(auto i = 0; i < N; ++i) {

       arr[i] = rand_range(min, max);

   }

   return arr;

}

template<typename T>

void print_sequence(const T * arr, size_t size) {

   for(auto i = 0; i < size; ++i) {

       std:: cout << arr[i] << " ";

   }

}

long calculate_production(const int *arr, size_t size) {

   long accumulator = 1;

   for(auto i = 0; i < size; ++i) {

       if (i % 2 == 0) continue;

       accumulator *= arr[i];

   }

   return accumulator;

}

int main() {

   const int min_random = -19, max_random = 26;

   int N;

   std::cout << "How many number should we generate? N = ";

   std::cin >> N;

   std::srand(std::time(nullptr));

   int *arr = random_sequence(N, min_random, max_random);

   print_sequence(arr, N);

   auto result = calculate_production(arr, N);

   std::cout << ":" << result;

   delete[] arr;

   return 0;

}


Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота