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

8. На вход алгоритма подаѐтся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N.
2) Справа дописывается бит чѐтности.
3) Справа дописывается ещѐ один бит чѐтности.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N)
является двоичной записью искомого числа R. Укажите минимальное число N, после обработки
которого с этого алгоритма получается число, большее, чем 103. В ответе это число
запишите в десятичной системе.

Показать ответ
Ответ:
fhuffggergryth5h6
fhuffggergryth5h6
05.06.2023 22:57
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <locale.h>
//Максимальная длина вводимой строки#define Mx_s 255
//Массив символов, которые //необходиом удалить в начале и конце строкиchar sim[] = { '\t', ' '};//Функция проверяющая входит ли данный символ c в массив simint char_in_arr(char c) { int f = 0; for (int i = 0; i < strlen(sim); i++) { if (c == sim[i]) { f = 1; break; } } return f;}

int main(){ setlocale(LC_ALL, "rus"); //Вводимая строка char s[Mx_s]; //Ввод данных printf("\n >> Введите строку\n <<"); fgets(s, Mx_s, stdin); int l = strlen(s) - 1; //Переменные для определения отсечений в начале и конце строки int pos_b = 0; int pos_e = l-1; //Проверяем начало строки //Если нам попадаются удаляемые символы то увеличиваем значение pos_b for (;(pos_b < l) && char_in_arr(s[pos_b]); pos_b++) {}
//Проверяем конец строки //Если нам попадаются удаляемые символы то уменьшаем значение pos_e for (;(pos_e >= 0) && (char_in_arr(s[pos_e])); pos_e--) {}
//Длина отсеченного отрезка int l2 = pos_e - pos_b + 1; //Если длина корректа то if (l2 > 0) { //Строка для результата char s2[Mx_s];
//Идем по строке s1 int pos = 0; for (int i = pos_b, k_s = 0; i <= pos_e; i++) { //Считаем пробелы, идущие подряд if (s[i] == ' ') k_s++; else k_s = 0;
//Если это не подряд идущие пробел if (k_s < 2) { //записываем символ в s2 s2[pos] = s[i]; pos++; } } s2[pos] = '\0';
//Вывод результат printf("\n >> Результат\n <<"); fputs(s2,stdout); } else //Строка пуста/Содержит только символы из массива sim printf("\n >> Ошибка в строке\n");
system("pause>>void"); return 0;}
0,0(0 оценок)
Ответ:
Lizak11
Lizak11
13.04.2022 15:30
Uses graphabc;
var
    i: integer;
    x, y: real;

function f(x: real): real;
begin
    f := sqrt(3 * x);
end;

begin
    Line(0, 240, 620, 240);
    Line(300, 0, 300, 900);
    TextOut(310, 10, 'y=sqrt(3x)');
    
    x := 0;
    repeat
        x := x + 0.03;
        y := f(x);
        SetPixel(round(300 + 10 * x), round(240 - 10 * f(x)), clGreen);
    until 300 + 10 * x > 620
end.

с апгрейдом

uses graphabc;
const
    scale = 20;

var
    i: integer;
    x, y: real;

function f(x: real): real;
begin
    if x < 0 then
        f := 0
    else
        f := sqrt(3 * x);
end;

begin
    Window.Init(0, 0, 1000, 1000, clMoneyGreen);
    Window.CenterOnScreen;
   
    Line(0, Window.Height div 2, Window.Width, Window.Height div 2);
    Line(Window.Width div 2, 0, Window.Width div 2, Window.Height);
    TextOut(Window.Width div 2 + 5, 10, 'y=sqrt(3x)');
   
    x := -1;
    repeat
        SetPixel(round(Window.Width div 2 + scale * x), round(Window.Height div 2 - scale * f(x)), clRed);
        x := x + 0.03;
    until scale * x > Window.Width div 2
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота