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

Для набора строк, введенных с клавиатуры, все те, которые являются правильной записью вещественного числа в десятичной системе, поместите в очередь 1, остальные - в очередь 2, выведите ту очередь, которая потребуется пользователю. Код должен нужно его закончить:
#include

#include

#include

#include

typedef struct QUEU

{

char a;

struct QUEU *next;

} QUEUE;

QUEUE *head=NULL, *tail=NULL;

void push_back(char c, QUEUE **b)

{

QUEUE *temp;

if((*b)!=NULL)

{

temp=(QUEUE*)malloc(sizeof(QUEUE));

temp->a = c;

temp->next = NULL;

(*b)->next=temp;

(*b)=temp;

}

else

{

(*b) = (QUEUE *)malloc(sizeof(QUEUE ));

(*b)->a = c;

(*b)->next = NULL;

head=(*b);

}

}

char pop_front(QUEUE **t)

{

if ((*t)!=NULL)

{

QUEUE *temp=(*t);

char a = (*t)->a;

(*t) = (*t)->next;

free(temp);

return a;

}

else

return 0;

}

int main()

{

char c[200], str[10];

gets(c);

int a, k=0;

for (int i=0; i
{

if (isupper(c[i]))

push_back(c[i], &tail);

}

while(head!=NULL)

printf("%c ", pop_front(&head));

return 0;

}

Показать ответ
Ответ:
kblaginin6gmailm
kblaginin6gmailm
13.02.2022 20:02
Задача 1
var
x,y:integer;
begin
  writeln('Введите х');
  readln(x);
  writeln('Введите y');
  readln(y);
  if x<y then writeln('Меньшее: ',x) else
  if x>y then writeln('Меньшее: ',y) else
  if x=y then writeln('Числа равны')
end.

задача 2
var
x,y:integer;
begin
  writeln('Введите первое число');
  readln(x);
  writeln('Введите второе число');
  readln(y);
  if y=0 then writeln('Второе число равно 0. Деление невозможно!') else
  writeln(x,'/',y,'=',x/y);
end.

задача 3
var
s,name:string;
begin
  writeln('Введите ваше имя');
  readln(name);
  writeln('Введите строку');
  readln(s);
  if s=name then writeln('Привет!') else
  writeln('Здравствуйте!');
end.

задача 4
var
x:integer;
begin
  writeln('Введите число');
  readln(x);
  if (x mod 2)=0 then writeln('Четное') else writeln('Нечетное')
end.

задача 5
var
x:string;
i:integer;
begin
  writeln('Введите строку');
  readln(x);
  writeln('Введите номер символа');
  readln(i);
  if i > length(x) then writeln('Нет символа!') else writeln(x[i])
end.

задача 6
var
x,y:integer;
begin
  writeln('Количество яблок:');
  readln(x);
  writeln('Количество апельсинов:');
  readln(y);
  if (x*100)>(y*150) then writeln('Берите яблоки')
  else
  if (x*100)<(y*150) then writeln('Берите апельсины')
  else
  if (x*100)=(y*150) then writeln('Вес яблок и апельсинов одинаковый')
end.
0,0(0 оценок)
Ответ:
никитоз3
никитоз3
30.01.2023 19:21
Когда мы находим двоичную запись числа мы делим его постоянно на 2 и находим остатки. Число 2^3*2014 -2^614+45 дает при делении на 2 тот остаток что дает 45 то есть 1. Поскольку выражение слева будет точно 614 раз делиться на 2. То ясно что пока число 45 не уйдет полностью то оно будет сначало давать те остатки что дает 45. Итак выражение будет давать остатки: 45/2=22 (1) 22/2=11(0) 11/2=5(1)  5/2=2(1) 2/2=1(0) 1/2=0 (1) Итак мы делили на 2 5раз и было 4 единици. У нас выражение теперь 2^(3*2014 -6) -2^608 608 раз оно будет давать остаток 0 при делении на 2 потом останется число 2^(3*2014-614)-1. Теперь нужно применить формулу сумму геометрической прогрессии: 2^n -1 =1+2+2^2...+2^n-1 то есть понятно что оно ровно n раз будут остатки 1. То есть всего единиц будет: 3*2014-614 +4=5432 двойки проверьте расчеты
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота