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

По каналу связи передаются сообщения, содержащие только 4 буквы: А, Б, В, Г. Для кодирования букв А, Б, В используются 5-битовые кодовые слова: А - 01000, Б - 10011, В - 11101. Для этого набора кодовых слов выполнено такое свойство: любые два слова из набора отличаются не менее чем в трёх позициях. Это свойство важно для расшифровки сообщений при наличии помех. Какое из перечисленных ниже кодовых слов можно использовать для буквы Г, чтобы указанное свойство выполнялось для всех четырёх кодовых слов?
1) 10100 2) 01011 3) 00110 4) не подходит ни одно из указанных выше слов

Показать ответ
Ответ:
svetlanasevasty
svetlanasevasty
01.10.2021 11:46
#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 оценок)
Ответ:
ноди1
ноди1
07.05.2022 06:47
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-бота