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

Маска файла

Миша готовится к ЕГЭ по информатике. Сейчас он изучает задачу A4, в которой описывается работа с масками файлов: Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которой также могут встречаться следующие символы. Символ «?» (во знак) означает ровно один произвольный символ. Символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Поскольку открытого банка задач для ЕГЭ по информатике не существует, Мише приходится тренироваться самостоятельно. Напишите программу, которая для каждого имени файла определит, подходит ли оно под заданную маску, чтобы Миша мог сверить свои ответы. Гарантируется, что в маске файла присутствует не более одного символа «*».

Входные данные

В первой строке содержится маска файла. В следующих 5 строках содержатся имена файлов по одному в строке. Имена файлов состоят из маленьких латинских букв, цифр и символа «.» (точка), в маске также могут содержаться символы «?» и «*» (символ «*» — не более одного раза). Длина каждой строки не превосходит 20 символов.

Выходные данные

Для каждого имени файла выведите слово «YES», если оно удовлетворяет маске и «NO» иначе. Выводить слова следует большими латинскими буквами без кавычек, каждое в новой строке. Примеры

Ввод 1
?or*.d??
fort.doc
ford.doc
lord2.doc
orsk.dat
port
Вывод
YES
YES
YES
NO
NO

Показать ответ
Ответ:
//Я просто опишу метод записи матрицы
const n=100;
var ar:array of array of integer;
 ars:array of array of string;
 i:integer;
 
procedure complection(var ar:array of array of integer;var ars:array of array of string);
var
 i,j:integer;
begin;
for i:=1 to n do
 begin;
   for j:=1 to n do
    begin;
     ar[i,j]:=random(9);
     str(ar[i,j],ars[i,j]);
    end;
 end;
end;

procedure burning(ars:array of array of string);
var
 i,j:integer;
 t:text;
 begin;
  assign(t,'text.txt');
  rewrite(t);
  for i:=1 to n do
   begin;
    writeln(t,' ');
     for j:=1 to n do
      write(t,ars[i,j],' ');
   end;
 end;  

begin;
randomize;
setlength(ar,n+1);
setlength(ars,n+1);
for i:=1 to n do
 begin;
  setlength(ar[i],n+1);
  setlength(ars[i],n+1);
 end;
complection(ar,ars);
burning(ars);
end.
0,0(0 оценок)
Ответ:
sirkovake
sirkovake
01.12.2021 02:10
Для стека:
const
  MAX_SIZE = 100;
var
  size, n: integer;
  stack: array[1..MAX_SIZE] of integer;

procedure push(a: integer);
begin
  inc(size);
  stack[size] := a;
end;

procedure view;
var
  i: integer;
begin
  for i := 1 to size do
    write(stack[i], ' ');
  writeln;
end;

Для очереди:
const
  MAX_SIZE = 100;
var
  head, tail: integer;
  queue: array[1..MAX_SIZE] of integer;

procedure push(a: integer);
begin
  queue[tail] := a;
  inc(tail);
end;

procedure view;
var
  i: integer;
begin
  for i := head to tail - 1 do
    write(queue[i], ' ');
  writeln;
end;

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