Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2010, 23:49   #1
AndrewPl
Пользователь
 
Регистрация: 23.04.2010
Сообщений: 52
Стрелка массивы (паскаль)

есть два массива A(10) i B(6). Среди элементов каждого с них
нет таких которые повторяются. Сделать новый массив, который
содержит те элементы первого массива, которые
не встречаются во втором массиве. Вывести два начальных массива и новый.

Последний раз редактировалось AndrewPl; 25.04.2010 в 11:21.
AndrewPl вне форума Ответить с цитированием
Старый 25.04.2010, 01:23   #2
CodeExpert
Заблокирован
 
Регистрация: 30.10.2009
Сообщений: 468
По умолчанию

Ну проходишь по элементам первого массива обновременно сравнивая элемент с каждым из элементов второго и флаг заведи, в случае отрицательности флага заносишь элемент в третий массив, элементарно ж...П.с. А почему иконка такая в теме, палец вниз...?
CodeExpert вне форума Ответить с цитированием
Старый 25.04.2010, 01:26   #3
AndrewPl
Пользователь
 
Регистрация: 23.04.2010
Сообщений: 52
По умолчанию

Спасибо за подсказку)))ой,ха-ха...я думал,что то такой вопросительный знак))))))

Цитата:
Сообщение от CodeExpert Посмотреть сообщение
Ну проходишь по элементам первого массива обновременно сравнивая элемент с каждым из элементов второго и флаг заведи, в случае отрицательности флага заносишь элемент в третий массив, элементарно ж...П.с. А почему иконка такая в теме, палец вниз...?
а как именно одновременно сравнить элемент 1-о с каждым элементом 2-о?

Последний раз редактировалось Stilet; 26.04.2010 в 10:01.
AndrewPl вне форума Ответить с цитированием
Старый 25.04.2010, 13:41   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Код:
for i:=0 to 9 do
  for j:=0 to 6 do
    if A[i] {теперь набор операторов сравнения} B[j] 
      then {обработка результата сравнения элементов массивов}
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 25.04.2010, 13:52   #5
AndrewPl
Пользователь
 
Регистрация: 23.04.2010
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Grag Посмотреть сообщение
Код:
for i:=0 to 9 do
  for j:=0 to 6 do
    if A[i] {теперь набор операторов сравнения} B[j] 
      then {обработка результата сравнения элементов массивов}
Благодарю)

а "теперь набор операторов сравнения" - это насколько я понял "<>"?

Последний раз редактировалось Stilet; 26.04.2010 в 10:02.
AndrewPl вне форума Ответить с цитированием
Старый 25.04.2010, 13:59   #6
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Это не только "<>", но и "<", ">" и пр. Просто выбирай тот, который нужен тебе!
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 25.04.2010, 14:03   #7
AndrewPl
Пользователь
 
Регистрация: 23.04.2010
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Grag Посмотреть сообщение
Это не только "<>", но и "<", ">" и пр. Просто выбирай тот, который нужен тебе!
ну мне по-моему просто нужен в моём случае именно"<>".Ещё раз спасибо))))
AndrewPl вне форума Ответить с цитированием
Старый 25.04.2010, 14:06   #8
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Для благодарности слева есть "весы".
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 25.04.2010, 14:41   #9
AndrewPl
Пользователь
 
Регистрация: 23.04.2010
Сообщений: 52
По умолчанию

подскажите что неправильно:
Код:
const n=10;m=6;
var a:array[1..n]of integer;
 b:array[1..m]of integer;
 c:array[1..100]of integer;
   i,j,q,k:integer;
begin
clrscr;
for i:=1 to n do
 begin
 write('a[',i,']=');readln(a[i]);
 end;
writeln;
for j:=1 to m do
 begin
 write('b[',i,']=');readln(b[i]);
 end;
for i:=1 to n do 
 begin
 k:=0
 for j:= 1 to m do 
  begin
   if a[i]=b[j] 
   then k:=k+1;
  end;
if k:=0 then 
begin 
 c[q]:=a[i];
end;
end;
 for j:=1 to q do 
 begin
  writeln('c[',j,'[=',c[j];
 end;
end.

Последний раз редактировалось Stilet; 26.04.2010 в 10:02.
AndrewPl вне форума Ответить с цитированием
Старый 25.04.2010, 15:05   #10
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Непонятно вот это
c:array[1..100]of integer;
Зачем такая большая размерность, достаточно и 10, массив С не может быть больше массива А...
А вот тут вообще ничего не понял
Код:
for i:=1 to n do
begin
k:=0
for j:= 1 to m do
begin
if a[i]=b[j]
then k:=k+1;
end;
if k:=0 then
begin
c[q]:=a[i];
end;
end;
for j:=1 to q do
begin
writeln('c[',j,'[=',c[j];
У тебя условие если a[i]<>b[j], то формируешь массив C...
откуда берется индекс q массива С???
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы, Паскаль Анюта01 Помощь студентам 2 30.03.2010 18:21
массивы Паскаль Натуськ@25 Помощь студентам 1 13.02.2009 19:33
Паскаль, массивы. SZero Помощь студентам 5 22.03.2008 16:06