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

Уровень c. введите массив с клавиатуры и найдите (за один проход) количество элементов, имеющих максимальное значение. пример: массив: 3 4 5 5 3 4 5 максимальное значение 5 количество элементов 3

👇
Ответ:
Verabogomaz
Verabogomaz
03.03.2022
Var 
mas: array[1..7] of integer;
k, i, MAX:integer;

Begin
for i:=1 to 7 do
  Begin
  writeln('Введите число');
  readln(mas[i]); 
  end;

MAX:=mas[1];
k:=1;
for i:=2 to 7 do
  Begin
    if mas[i] > MAX   
       then      
          Begin       
               MAX:=mas[i];       
                k:=1;     
          end   
       else        
            if MAX=mas[i]          
                 then k:=k+1;
  end;

writeln();
writeln('Максимальное значение = ', MAX);
writeln('Количество элементов = ', k);

readln();
end.
4,7(70 оценок)
Открыть все ответы
Ответ:
МаксVFRCBV
МаксVFRCBV
03.03.2022

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
03.03.2022

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

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

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

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
Открыть лучший ответ