Определить, что последовательность b содержит все элементы последовательности a - Turbo Pascal
Формулировка задачи:
Помогите пожалуйста исправить нерациональность в коде, такое условие: даны 2 последовательности a и b, неповторяющихся элементов (b>a), определить, верно ли то, что последовательность b содержит все элементы последовательности a. Вот что получилось, показал учителю, он сказал что нерациональное решение и надо переделать. Как можно переделать?
Листинг программы
- uses crt;
- const n=5;
- m=7;
- var a:array [1..n] of integer;
- b:array [1..m] of integer;
- p, i, j: integer;
- begin
- clrscr;
- p:=0;
- writeln ('введите последовательность а, состоящию из ',n,' неповторяющихся элементов');
- for i:=1 to n do
- read (a[i]);
- writeln ('введите последовательность b, состоящию из ',m,' неповторяющихся элементов');
- for j:=1 to m do
- read (b[j]);
- p:=0;
- for i:=1 to n do
- begin
- for j:=1 to m do
- if a[i]=b[j] then
- p:=p+1;
- end;
- if p=n then write ('Верно') else write ('Не верно');
- end.
Решение задачи: «Определить, что последовательность b содержит все элементы последовательности a»
textual
Листинг программы
- uses crt;
- var a : array [1..100] of integer;
- n, m, p, i, j : byte;
- b : integer;
- begin
- clrscr;
- write('Введите количество элементов последовательности а (n<100): ');
- readln(n);
- writeln ('Введите последовательность а:');
- for i:=1 to n do
- read (a[i]);
- repeat
- write('Введите количество элементов последовательности b (m<n): ');
- readln(m);
- until m<n;
- writeln('Введите последовательность b: ');
- for i:=1 to m do
- begin
- read(b);
- for j:= 1 to n do
- if a[j] = b then p:= p + 1;
- end;
- if p = m then write ('Верно')
- else write ('Не верно');
- end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt.
- Создается переменная a типа array[1..100]of integer, которая будет хранить последовательность a.
- Создаются переменные n, m, p и i типа byte, которые будут использоваться для контроля ввода данных и обработки последовательностей.
- Создается переменная b типа integer, которая будет хранить элемент из последовательности b.
- Выводится сообщение для ввода количества элементов последовательности a.
- Считывается количество элементов последовательности a с помощью функции readln.
- Выводится сообщение для ввода последовательности a.
- Запускается цикл for, который считывает каждый элемент последовательности a с помощью функции read и сохраняет его в соответствующем элементе массива a.
- Проверяется, пока количество элементов последовательности b не будет меньше или равно количеству элементов последовательности a.
- Выводится сообщение для ввода последовательности b.
- Запускается цикл for, который считывает каждый элемент последовательности b с помощью функции read и сохраняет его в соответствующем элементе массива a.
- Проверяется, пока количество элементов последовательности b не будет равно количеству элементов последовательности a.
- Выводится сообщение, указывающее, была ли последовательность b найдена в последовательности a.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д