Доброго времени суток! Пожалуйста подскажите, что я не правильно делаю. Вот суть задачи:
Даны две последовательности из n(<=1000) целых чисел. Найти наименьшее среди тех чисел первой последовательности, которые не входят во вторую(считать, что хотя бы одно такое число есть).
Проблема в том, что в массив c просто перезаписывается массив a.
Вот мой программный код
uses crt;
var
a,b,c:array[1..10]of byte;
i,j,m,n,k:byte;
begin
clrscr;
write('Vvedite kol-vo elementov 1-oy posled '); read(n);
for i:=1 to n do
begin
gotoxy(i+5,3);
read(a[i]);
end;
writeln;
write('Vvedite kol-vo elementov 2-oy posled '); read(m);
for j:=1 to m do
begin
gotoxy(j+5,7);
read(b[j]);
end;
for i:=1 to n do
for j:=1 to m do
if a[i]<>b[j] then c[i]:=a[i];
for i:=1 to n do
write(c[i],' ');
readkey;
end.
const
n=1000;
...
j:=1;
for i:=1 to n do
begin
if a[i]<>b[i] then
begin
c[j]:=a[i];
j:=j+1;
end;
end;
Огромное спасибо!!!! Удачи тебе! Очень благодарна Буду реализовывать.
Извините... по ходу реализации возник еще один вопрос - если количество элементов массива не 1000, а например 5, то все свободные ячейки массив заполняет нулями, что влияет на нахождение минимума. Подскажите, пожалуйста, возможно ли это как-то устранить, не исключая того, что в последовательность все же может входить ноль?
const
n=1000;
...
j:=1;
for i:=1 to n do
begin
if a[i]<>b[i] then
begin
c[j]:=a[i];
j:=j+1;
end;
maxJ:=j;
end;
...
for i:=1 to MaxJ do // находим минимум
begin
...
end;
Ozzя, спасибо тебе огромное! На деле все оказывается так просто....а я не могла додуматься...Хорошо, что есть светлые головы, готовые помочь! Еще раз спасибо и удачи!
Добавлено через 32 сек.
for i:=1 to n do
begin
if a[i]<>b[i] then
Тогда вложенный прогон массивов.
Несложная реализация.