Khlustikova_Borisovna
?>

Как называется число, которое вычисляется по специальному алгоритму на основании данных пакета, передаётся вместе с данными и служит для обнаружения ошибок в передаче?

Информатика

Ответы

Varagyant

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;

}

Milovidova

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

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

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

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;

}


Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Как называется число, которое вычисляется по специальному алгоритму на основании данных пакета, передаётся вместе с данными и служит для обнаружения ошибок в передаче?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

iivanovar-da
ksyusatom19
hotnuts
zurabghiendzhoian886
Рощак_Ольга573
coffee2201
fudan
lazareva
valya-7777
Елена_Зайкин1665
knyazevskayad
ksenyabobrovich7214
tobolenecivanov1675
ЮрьевичКарпова1564
Linichuk