arlashmanov
10.09.2020 21:48

Обязательно блок-схемой! составить машину поста. на ленте задана последовательность массивов, включающая в себя один и более массивов. при этом два соседних массива отделены друг от друга одной пустой ячейкой. необходимо на ленте оставить один массив длиной равной сумме длин массивов, присутствовавших изначально. каретка находится над крайней левой меткой первого (левого) массива

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
you58
28.10.2021 11:11
Program n1;
const n=15;
var a: array[1..n] of integer;
pc,pn,nmin,nmax,max,min,i: integer;
begin
randomize;
pc:=1;
pn:=1;
write('массив: ');
for i:=1 to n do begin
a[i]:=random(100);
write(a[i],' ');
end;
writeln;
for i:=1 to n do if i mod 2=0 then pc:=pc*a[i] else pn:=pn*a[i];
if pc>pn then begin
max:=a[1];
for i:=2 to n do if a[i]>max then begin
max:=a[i];
nmax:=i;
end;
writeln('номер максимального элемента: ',nmax);
end else
begin
min:=a[i];
for i:=2 to n do if a[i]<min then begin
min:=a[i];
nmin:=i;
end;
write('номер минимального элемента: ',nmin);
end;
end.
0,0(0 оценок)
Ответ:
voirakbarov5gmailcom
28.10.2021 11:11

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

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

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

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-бота