pedroluisfigoowupwm
09.10.2022 13:37

Кто-нибудь может обьяснить что делает кусок кода поподробнее, по строчкам? class Screen {
HANDLE m_hStdout;
CONSOLE_CURSOR_INFO m_cursorInfo;
COORD m_screenSize;
DWORD m_screenBufSize;
DWORD m_consoleMode;
public:
Screen() {
m_hStdout = GetStdHandle(STD_ERROR_HANDLE);
GetConsoleCursorInfo(m_hStdout, &m_cursorInfo);
m_cursorInfo.bVisible = FALSE;
SetConsoleCursorInfo(m_hStdout, &m_cursorInfo);
CONSOLE_SCREEN_BUFFER_INFO csbi;
(m_hStdout, &csbi);
m_screenSize.X = csbi.srWindow.Right - csbi.srWindow.Left + 1;
m_screenSize.Y = csbi.srWindow.Bottom - csbi.srWindow.Top + 1;
m_screenBufSize = (DWORD)m_screenSize.X * m_screenSize.Y;
GetConsoleMode(m_hStdout, &m_consoleMode);
SetConsoleMode(m_hStdout, m_consoleMode | ENABLE_ECHO_INPUT);
}
~Screen() {
m_cursorInfo.bVisible = TRUE;
SetConsoleCursorInfo(m_hStdout, &m_cursorInfo);
SetConsoleMode(m_hStdout, m_consoleMode);
}
COORD getScreenSize() const { return m_screenSize; }
void out(const COORD &coord, char ch) {
SetConsoleCursorPosition(m_hStdout, coord);
DWORD chars_written;
WriteConsoleA(m_hStdout, &ch, DWORD(1), &chars_written, NULL);
}
void out_array(const char *buf, DWORD buflen) {
DWORD chars_written;
COORD coord{ 0,0 };
SetConsoleCursorPosition(m_hStdout, coord);
WriteConsoleA(m_hStdout, buf, buflen, &chars_written, NULL);
}
void cls() {
CONSOLE_SCREEN_BUFFER_INFO csbi;
COORD coordScreen = { 0, 0 };
DWORD cCharsWritten;
(m_hStdout, &csbi);
DWORD dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
(m_hStdout, (TCHAR)' ', dwConSize, coordScreen, &cCharsWritten);
(m_hStdout, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten);
SetConsoleCursorPosition(m_hStdout, coordScreen);
}
};

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
умная196
21.02.2023 12:37
Три брата рубили в лесу дрова. Пришло время обедать. Стали братья обед варить: набрали воды в котелок, сложили костер, а разжечь костер нечем. Как на грех, ни один не взял с собой из дому ни кремня, ни спичек. Посмотрели вокруг и видят: горит за де­ревьями костер и сидит возле огня старик.Старший брат пошел к старику и попросил:— Дедушка, дай огоньку!— Расскажи сорок одну небылицу — дам, — ответил старик.Постоял-постоял старший брат, ни одной небылицы не придумал. Так и вернулся ни с чем. Пошел к старику средний брат.— Дай огоньку, дедушка!— Дам, если расскажешь сорок одну небылицу, — от­ветил старик.Средний брат почесал в затылке —ни одной небылицы не придумал и тоже вернулся к братьям без огня. Пошел к старику младший брат.— Дедушка, — говорит младший брат старику, — соб­рались мы с братьями обед варить, да огня нет. Дай нам огня.— Если расскажешь сорок одну небылицу, — говорит старик,— дам тебе огня и еще вдобавок котел и жирную утку, что варится в котле.— Ладно, — согласился младший брат, — расскажу я тебе сорок одну небылицу. Только, чур, не сердись.— Да кто же на небылицы сердится!— Ну ладно, слушай. Родилось нас у отца-матери трое братьев. Умирали мы один за другим, и осталось нас всего семь человек. На семерых братьев: один был глухой, другой — слепой, третий — хромой, четвертый — безрукий, а пятый — голый, ни клочка одежды на нем не было.Однажды собрались мы и пошли ловить зайцев. Опута­ли одну рощу нитками, а глухой брат уже услышал.«Вон-вон, там шуршит!» — закричал глухой.А тут слепой зайца увидел: «Ловите! Он в овраг по­бежал!»Побежал хромой вдогонку за зайцем — вот-вот пой­мает… Только безрукий уже схватил зайца.Положил голый зайца в подол и принес домой.Зарезали мы зайца и натопили из него пуд сала.Была у нас на всех одна пара отцовских сапог. И стал я тем салом отцовские сапоги смазывать. Мазал-мазал — хватило сала только на один сапог. Рассердился несма­занный сапог и убежал от меня. Сапог бежит, я — за ним. Прыгнул сапог в какую-то дыру под землю. Свил я ве­ревку из мякины и за сапогом спустился. Тут и догнал его!Стал я назад вылезать, да веревка оборвалась, и свалился я опять под землю. Сижу я, сижу в дыре, а тут весна наступила. Свил себе журавль гнездо, вывел журав­лят. Повадилась за журавлятами лиса лазить: сегодня одного утащит, завтра — другого, послезавтра за третьим приходит. Подкрался я однажды к лисе — и хвать ее за хвост!Побежала лиса и меня за собой потащила. У выхода я застрял, а лиса рванулась — и хвост оторвался.Принес я домой лисий хвост, распорол его, а внутри лежит бумажка. Развернул я бумажку, а там написано: «Старик, который варит сейчас жирную утку и слушает небылицы, должен твоему отцу десять пудов ржи».— Вранье! — рассердился старик. — Небылица!— А ты и спрашивал небылицы, — ответил   младший брат.Нечего делать старику, пришлось отдать и котел, и утку.
0,0(0 оценок)
Ответ:
радмирик
10.12.2021 18:35

1) Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ю степень, где N - количество цифр в числе, равна самому числу. Напримерт153=1^3 5^3 3^3. Найдитетвсе трехзначныеии четырехзначныеичисла Армстронга

var a,b,c,d,a2:integer;

begin

for a:=100 to 9999 do begin

d:=0;

a2:=a;

while (a2 <> 0) do begin

b:= a2 mod 10;

a2:= a2 div 10;

if a<1000 then c:= (b*b*b)

else c:=(b*b*b*b);

d:= d+c;

end;

if (a = d) then writeln('число армстронга ==> ', a);

end;

end.

2)Авmoморфные числа. Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например: 25 и 625. Напишите программу, которая вводит натуральное число N и выводит на акран все автоморфные числа, не превосходящие N.

var n,i,l:integer; s1,s2:string;

begin

write('n = '); readln(n);

for i:=1 to n do

begin

str(i,s1);

l:=length(s1);

str(i*i,s2);

if s1=copy(s2,length(s2)-l+1,l) then writeln(i,' ',i*i);

end;

end.

3)Модифицированный алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на остаток от деления большего на меньшее до тех пор, пока остаток не станет равно нулю; тогда второе число и есть НОД. Напишите программу, которая реализует этот алгоритм.

var a,b,nod,k:integer;

begin

readln(a,b);

k:=0;

while (a<>0)and(b<>0) do

begin

if a>b then a:=a mod b else b:=b mod a;

k:=k+1;

end;

nod:=a+b;

writeln(nod,' ',k);

end.

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