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

Ребят кто нибудь что здесь нужно испаривить чтобы заработало? type
PNode=^TNode;
TNode=record
s: string;
left,right: PNode;

end;

var
f: text;
p,p1,p2,root: PNode;
x: integer;
s,q: string;

procedure InitRoot;
begin
New(root);
root^.s:='Собака';
root^.left:=nil;
root^.right:=nil;
end;

procedure SaveToFile(p: PNode);
begin
if p=nil then
begin
writeln(f,'');
exit
end;
writeln(f,p^.s);
SaveToFile(p^.left);
SaveToFile(p^.right);
end;

function LoadFromFile: PNode;
var
s: string;
p: PNode;
begin
readln(f,s);
if s='' then
begin
Result:=nil;
exit
end;
New(p);
p^.s:=s;
p^.left:=LoadFromFile;
p^.right:=LoadFromFile;
Result:=p;
end;

begin
writeln('Загадайте животное');
assign(f,'data.txt');
if not FileExists('data.txt') then
InitRoot
else
begin
reset(f);
root:=loadfromfile;
close(f);
end;

p:=root;
while p^.left<>nil do
begin
write(p^.s+'? ');
readln(x);
if x=1 then p:=p^.left
else p:=p^.right
end;

write('Это '+p^.s+'? ');
readln(x);
if x=1 then
writeln('Я угадала!')
else
begin
write('Я проиграла. Что это за животное? ');
readln(s);
write('Введите вопрос, отличающий это животное от '+p^.s+': ');
readln(q);
New(p1);
New(p2);
p1^.s:=s;
p1^.left:=nil;
p1^.right:=nil;
p2^.s:=p^.s;
p2^.left:=nil;
p2^.right:=nil;
p^.s:=q;
p^.left:=p1;
p^.right:=p2;
end;
rewrite(f);
SaveToFile(root);
close(f);
end.

Показать ответ
Ответ:
kisazaya4
kisazaya4
06.04.2022 01:30
var
  s: string;
  i, j, n: integer;
  c: char;
  flag: boolean;

begin
  Write('Введите произвольное число: '); Readln(s);
  flag := false;
  n := length(s);
  i := 1;
  while (i <= n) and (not flag) do
  begin
    c := s[i];
    j := i + 1;
    while (j <= n) and (not flag) do
      if s[j] = c then flag := true else j := j + 1;
    if (not flag) then i := i + 1
  end;
  if flag then Writeln('Символ "', c, '" встречается больше одного раза')
  else Writeln('Все символы уникальны')
end.

Тестовое решение:
Введите произвольное число: -1453.5462
Символ "4" встречается больше одного раза
0,0(0 оценок)
Ответ:
уяеный222
уяеный222
06.04.2022 01:30
Var
  s: string;
  i, j, n: integer;
  c: char;
  flag: boolean;

begin
  Write('Введите произвольное число: '); Readln(s);
  flag := false;
  n := length(s);
  i := 1;
  while (i <= n) and (not flag) do
  begin
    c := s[i];
    j := i + 1;
    while (j <= n) and (not flag) do
      if s[j] = c then flag := true else j := j + 1;
    if (not flag) then i := i + 1
  end;
  if flag then Writeln('Символ "', c, '" встречается больше одного раза')
  else Writeln('Все символы уникальны')
end.

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