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

Составить программу на С++ Не сталкивался с этимхлп

Создать целочисленный массив типа short int размером n. Элементы массива инициализируются по следующему алгоритму:
1) сгенерировать случайное целое число А в диапазоне значений от 10 до 20;
2) используя битовые операции, поменять 2-й бит значением 13-го бита, а у остальных сохранить значения.
3) присвоить преобразованное число А текшему элементу массива.
Инициализированный массив вывести на печать и, используя битовые операции, найти в нём количество чётных элементов.

Создать целочисленный массив типа short int размером n. Элементы массива инициализируются по следующему алгоритму:
1) сгенерировать случайное целое число А в диапазоне значений от 10 до 20;
2) используя битовые операции, поменять 2-й бит значением 13-го бита, а у остальных сохранить значения.
3) присвоить преобразованное число А текшему элементу массива.
Инициализированный массив вывести на печать и, используя битовые операции, найти в нём количество чётных элементов.

👇
Ответ:
dikray1
dikray1
01.07.2022
Хорошо, давайте разберемся с поставленной задачей.

Для начала нам нужно создать целочисленный массив типа short int размером n. Для этого объявим переменную n и заполним ее значением. Например, пусть n = 10.

```c++
#include
#include // для функции rand()

int main() {
const int n = 10;
short int arr[n]; // объявляем массив размером n

// ваш код будет здесь

return 0;
}
```

Далее нам необходимо выполнить следующий алгоритм для инициализации элементов массива:

1) Сгенерировать случайное целое число А в диапазоне значений от 10 до 20. Для этого воспользуемся функцией `rand()`, которая генерирует псевдослучайное число. Чтобы получить число в указанном диапазоне, разделим результат на 11 (20 - 10 + 1) и прибавим 10:

```c++
int A = rand() % 11 + 10;
```

2) Используя битовые операции, поменять 2-й бит значением 13-го бита, а у остальных сохранить значения. Для этого нам понадобятся операторы битовых сдвигов `>>` и `<<`. Для простоты обозначим второй бит как B2 и 13-й бит как B13:

```c++
int B2 = (A >> 1) & 1; // сохраняем значение 2-го бита
int B13 = (A >> 12) & 1; // сохраняем значение 13-го бита

A = (A & ~(1 << 1)) | (B13 << 1); // меняем 2-й бит значением 13-го бита
```

3) Присвоить преобразованное число А текущему элементу массива:

```c++
arr[i] = A;
```

Теперь, чтобы вывести инициализированный массив на печать и найти количество четных элементов, давайте выполним следующие действия:

```c++
int countEven = 0; // переменная для подсчета четных элементов

for (int i = 0; i < n; i++) {
std::cout << arr[i] << " "; // выводим элемент массива на печать

if (arr[i] % 2 == 0) { // проверяем, является ли элемент четным
countEven++; // увеличиваем счетчик четных элементов
}
}

std::cout << std::endl;
std::cout << "Количество четных элементов: " << countEven << std::endl;
```

В итоге, полная программа будет выглядеть следующим образом:

```c++
#include
#include // для функции rand()

int main() {
const int n = 10;
short int arr[n]; // объявляем массив размером n

for (int i = 0; i < n; i++) {
int A = rand() % 11 + 10; // генерируем случайное число в диапазоне от 10 до 20

int B2 = (A >> 1) & 1; // сохраняем значение 2-го бита
int B13 = (A >> 12) & 1; // сохраняем значение 13-го бита

A = (A & ~(1 << 1)) | (B13 << 1); // меняем 2-й бит значением 13-го бита

arr[i] = A; // присваиваем преобразованное число А текущему элементу массива
}

int countEven = 0; // переменная для подсчета четных элементов

for (int i = 0; i < n; i++) {
std::cout << arr[i] << " "; // выводим элемент массива на печать

if (arr[i] % 2 == 0) { // проверяем, является ли элемент четным
countEven++; // увеличиваем счетчик четных элементов
}
}

std::cout << std::endl;
std::cout << "Количество четных элементов: " << countEven << std::endl;

return 0;
}
```

Теперь код готов к выполнению. Программа создаст массив, заполнит его элементы в соответствии с указанным алгоритмом, выведет массив на печать и подсчитает количество четных элементов.

Надеюсь, мой ответ был подробным и понятным для вас. Если у вас возникнут еще вопросы, пожалуйста, не стесняйтесь задавать их.
4,5(53 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ