М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
likiad123
likiad123
09.10.2021 13:25 •  Информатика

Информационный объем текста при алфавитном подходе определяется как… -сумма символов, составляющих текст -сумма информационных весов составляющих его символов -сумма информационных весов составляющих его символов, с учетом вероятности появления символа алфавита

👇
Ответ:
Fusdy
Fusdy
09.10.2021
Ав чем вопрос
4,7(62 оценок)
Открыть все ответы
Ответ:
МаксVFRCBV
МаксVFRCBV
09.10.2021

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;

}

4,6(50 оценок)
Ответ:
yul19758694
yul19758694
09.10.2021

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

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

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

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;

}


Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
4,6(4 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ