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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2012, 03:33   #1
Koreps
Новичок
Джуниор
 
Регистрация: 15.12.2009
Сообщений: 1
По умолчанию Задача с массивами

Вообщем тема такая :
у нас есть два массива А и B. Нужно сравнить элементы этих массивов между собой, и те элементы, которые не встречаются (т.е не равны) в двух массивах сразу, т.е различные эл-ты запихнуть в массив С, причем вначале элементы массива А, а потом B.

Ввод массивов и т.д вопросов не вызвал, а вот само основное условие, по которому будет отбор элементов, т.е как сравнить элементы массива А с элементами из массива B, - тут я уже завис =/

Вот, что получилось пока :



Код:
Цитата:
Program viborka; Uses crt; Const max = 10; Type mas = array [1..max] of integer; Var nA, nB : byte; c, b, a : mas; k, i, j : byte; bb : boolean; Begin clrscr; repeat write ('Введите кол-во эл-тов массива А '); readln (nA); if (nA <= 0) or (nA > max) then writeln ('Ошибка!'); until (nA > 0) and (nA <= max); repeat write ('Введите кол-во эл-тов массива B '); readln (nB); if (nB <= 0) or (nB > max) then writeln ('Ошибка!'); until (nB > 0) and (nB <= max); writeln ('Ввод элементов массива А : '); for i := 1 to nA do begin write (i,'-ый элемент = '); readln (a[i]); end; writeln ('Ввод элементов массива B : '); for j := 1 to nB do begin write (j,'-ый элемент = '); readln (b[j]); end; (* --- УСЛОВИЕ И САМА ЗАДАЧА --- *) End.
Koreps вне форума Ответить с цитированием
Старый 28.03.2012, 03:47   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

держи...
Код:
Uses crt;
Const max = 10;
Type mas = array [1..max] of integer;
Var nA, nB : byte;
    c, b, a : mas;
    k, i, j : byte;
    bb : boolean;
Begin
  clrscr;
  repeat
    write ('Введите кол-во эл-тов массива А ');
    readln (nA);
    if (nA <= 0) or (nA > max) then
      writeln ('Ошибка!');
  until (nA > 0) and (nA <= max);
  repeat
    write ('Введите кол-во эл-тов массива B ');
    readln (nB);
    if (nB <= 0) or (nB > max) then
      writeln ('Ошибка!');
  until (nB > 0) and (nB <= max);
  writeln ('Ввод элементов массива А : ');
  for i := 1 to nA do begin
    write (i,'-ый элемент = ');
    readln (a[i]);
  end;
  writeln ('Ввод элементов массива B : ');
  for j := 1 to nB do begin
    write (j,'-ый элемент = ');
    readln (b[j]);
  end;
  k := 0;
for i:= 1 to nA do
  begin
   for  j:=1 to nB do
    if a[i] = b[j] then break;
    if (j = nB) and (a[i] <> b[j]) then 
      begin
        inc(k);
        c[k] := a[i];
      end;
 end;
 
for i:= 1 to nB do
  begin
   for  j:=1 to nA do
    if b[i] =a[j] then break;
    if (j = nA) and (b[i] <> a[j]) then 
      begin
        inc(k);
        c[k] := b[i];
      end;      
  end;
// вывод массива C
for i:= 1 to k do
  writeln('C[',i,']=', c[i]);
 
 End.
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 28.03.2012, 03:50   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
держи...
Вот для массива C
Такая запись
Цитата:
Код:
Type mas = array [1..max] of integer;
.......................
c, b, a : mas;
Вашпешь не катит!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 28.03.2012, 03:55   #4
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Вот для массива C
Такая запись

Вашпешь не катит!
согласен... малость не катит... не всегда пройде трюк...
Код:

type mas = array [1..max] of integer;
mass  = array [1..2 * max] of integer;
.... 
b, a : mas;
c : mass;
так прокатит... не знаю захавает ли 2 * max турбо паскаль... но абс кушает... в случае чего автор темы думаю понял что нужно доделать)))
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача с массивами my_blood_is_blue Помощь студентам 6 29.12.2011 00:08
Задача с массивами Undefitied Паскаль, Turbo Pascal, PascalABC.NET 2 08.12.2011 23:27
Задача с массивами investr Паскаль, Turbo Pascal, PascalABC.NET 1 30.11.2011 21:43
Задача с массивами....на Си Sabolch Помощь студентам 3 19.11.2010 19:58
Задача с массивами Artem04 Помощь студентам 2 17.06.2009 16:46