Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на одномерный массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Анюта
Доброго времени суток! Пожалуйста подскажите, что я не правильно делаю. Вот суть задачи:
Даны две последовательности из 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.


Минимальный элемент я смогу найти сама, вот только бы нужную последовательность получить. Заранее благодарю за понимание и содействие
Ozzя
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;
Анюта
Огромное спасибо!!!! Удачи тебе! Очень благодарна smile.gif Буду реализовывать.
Анюта
Извините... по ходу реализации возник еще один вопрос - если количество элементов массива не 1000, а например 5, то все свободные ячейки массив заполняет нулями, что влияет на нахождение минимума. Подскажите, пожалуйста, возможно ли это как-то устранить, не исключая того, что в последовательность все же может входить ноль?
Ozzя
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я, спасибо тебе огромное! На деле все оказывается так просто....а я не могла додуматься...Хорошо, что есть светлые головы, готовые помочь! Еще раз спасибо и удачи!
klem4

Добавлено через 32 сек.
for i:=1 to n do
begin
if a[i]<>b[i] then


Ozzя, интересно что будет в массиве C после выполнения твоего кода для массивов A & B следующих:

A = {1, 2, 3, 4, 5}
B = {5, 4, 3, 2, 1}

что-то мне подсказывает что в массив C будет полностью скопирован массив A, хотя по заданию массив С должен быть пустым, так как все элементы массива A есть в В.
Ozzя
Тогда вложенный прогон массивов.
Несложная реализация.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.