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

Написать программу на языке с++(со всеми объяснениями)
написать функцию-процедуру, которая принимает в качестве аргументов целочисленный массив и две переменные a и b. функция должна вычислять количество элементов массива, значения которых лежат в диапазоне от a до b. это количество сохраняет в переменной-аргументе a. в b сохраняет количество элементов, не в диапазон.​

Показать ответ
Ответ:
angelinaangelka
angelinaangelka
10.10.2020 15:57

#include <iostream>

#include <time.h>

using namespace std;

pair<int, int> arr_to_range_and_save_the_number_of_elements(int* arr,int n, int a, int b) {

int count = 0;

for (size_t i = 0; i < n; i++) {

 if (arr[i] >= a && arr[i] <= b) {

  count++;

 }

}

a = count;

b = n - a;

return make_pair(a, b);

}

int* input_arr_auto(int* arr, int n) {

for (size_t i = 0; i < n; i++) {

 arr[i] = rand() % 200 - 100;

}

return arr;

}

int* input_arr(int* arr, int n) {

for (size_t i = 0; i < n; i++) {

 cin >> arr[i];

}

return arr;

}

void print_arr(int* arr, int n) {

for (size_t i = 0; i < n; i++) {

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

}

cout << endl;

}

int main()

{

setlocale(LC_ALL, "Russian");

srand(time(NULL));

int n;

int a, b;

cout << "Введите количество элементов массива: ";

cin >> n;

pair<int, int> pair_a_b;

int* arr = new int[n];

arr = input_arr_auto(arr, n);

print_arr(arr, n);

cout << "Введите a: ";

cin >> a;

cout << "Введите b: ";

cin >> b;

pair_a_b = arr_to_range_and_save_the_number_of_elements(arr, n, a, b);

cout << "Количество элементов, входящих в радиус: " << pair_a_b.first << endl;

cout << "Количество элементов, не входящих в радиус: " << pair_a_b.second;

}

0,0(0 оценок)
Ответ:
HermioneGranger19
HermioneGranger19
10.10.2020 15:57

#include <iostream>

using namespace std;

void foo (int a[], int n, int& b, int& c)

{

   // мы не можем в С++ определить размер массива

   // поэтому вынуждены ее передавать в качестве параметра,

   // либо использовать специальный класс array

   int low = b, high = c;

   b = c = 0;

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

       if((a[i] >= low) && (a[i] <= high))

           b++;

       else

           c++;

}

int main()

{

   int n;

   srand(time(0));

   cout << "Число элементов в массиве? ";

   cin >> n;

   int a[n];

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

   {

       a[i] = rand() % 199 - 98;

       cout << a[i] << " ";

   }

   cout << "\nУкажите верхнюю и нижнюю границы для отбора: ";

   int b, c;

   cin >> b >> c;

   foo(a, n, b, c);

   cout << "Элементов в интервале: " << b << ", вне интервала: " << c;

   return 0;

}


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