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

Дано число N (> 0) и указатели P1 и P2 на начало и конец непустой очереди. Извлечь из очереди N начальных элементов и вывести их значения (если очередь содержит менее N элементов, то извлечь все ее элементы). Вывести также новые адреса начала и конца очереди (для пустой очереди дважды вывести nil). После извлечения элементов из очереди освобождать память, которую они занимали. Необходимо написать программу на языке С++

Показать ответ
Ответ:
adilyabaxtigar
adilyabaxtigar
20.02.2023 07:25
Вобщем логика такова:
1) хитрый петя составил новую табличку и файл занял 2304 байта, так как юникод символ состоит из 2 байт (16 бит) составим соотношение для выяснения размера кода символа в его таблице:
4096/2304 = 16/х, отсюда
х = 9, т. е. для кодирования символа в таблице хитрого пети отводится 9 бит и всего можно накодировать 512 разных символов
2) неменее хитрый вася решил так - половина текста при 9 бит символе - 2304/9*2 = 128 симолов, он закодировал по новой таблице, для чего ему понадобилось 7 бит на символ, т. к 2 в 7 степени есть 128 а это и есть четверть от полного набора петиной таблицы.
теперь файл стал занимать 2304/2 + 7*128 = 1152 + 896 = 2048 байт,
таков размер итогового файла!
0,0(0 оценок)
Ответ:

C++Выделить код

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

# include <iostream>

# include <stdlib.h>

# include <time.h>

using namespace std;

//ф-я вывод массива

int* array (int* arr, int arr_size)

{

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

cout<<"Array="<<arr[i]<<endl;

}

// ф-я поиска наибольшего эл-та

int* searchnmax(int* arr, int arr_size, int max_count)

{

// временный элемент, с которым сравниваются эл-ты массива

int n=0;

for (int j=0; j<arr_size; j++)

{

if (arr[j]<max_count)

{

if (n<arr[j]) n=arr[j];

}

}

return ;

}

void main ()

{

srand (time(NULL));

const int arr_size=10;

int* arr=new int[arr_size];

int* max;

//кол-во наибольших чисел

int k=0;

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

arr[i]=rand()%100;

array (&arr[0], arr_size);

cout<<"Please enter number less than"<<arr_size<<"of max elements you would like to print out"<<endl;

cin>>k;

searchnmax(arr,arr_size,100);

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

max[i]=searchnmax(arr, arr_size,k(i-1));

array (max,k);

delete[] arr;

}

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