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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2008, 23:21   #11
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Все, я пас, поздно очень у меня.
puporev вне форума Ответить с цитированием
Старый 27.11.2008, 23:35   #12
LyaLya
 
Регистрация: 27.11.2008
Сообщений: 8
По умолчанию

ну, пожалуйста не уходи, я же просто умру без вашей помощи
LyaLya вне форума Ответить с цитированием
Старый 27.11.2008, 23:42   #13
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

В основном поиске ведь используется флаг. Я его назвал ks, или количество совпадений, хотя это не количество, а сам факт совпадения.
Код:
while i<=t do
  begin
   j:=1;ks:=0;{ks=false}
   while j<=r do
     begin
      if a[i]=b[j] then
        begin
          k:=k+1;
          ks:=1;{ks=true}
          c[k]:=a[i]; 
          for l:=i to t-1 do
          a[l]:=a[l+1];
          t:=t-1;
          for l:=j to r-1 do
          b[l]:=b[l+1];
          r:=r-1;
        end
      else j:=j+1;
     end;
   if ks=0 then i:=i+1;{ks=false}
 end;
puporev вне форума Ответить с цитированием
Старый 28.11.2008, 02:25   #14
LyaLya
 
Регистрация: 27.11.2008
Сообщений: 8
По умолчанию

С равными элементами я разобралась, получилось примерно вот это:

PROGRAM pr2;
uses crt;
const n = 20; m = 10;
var a, c : array [1..n] of real;
b : array [1..m] of real;
t, l, j, i ,k, pr : integer;

BEGIN
clrscr; randomize;

for i:=1 to n do begin
a[i]:=random(50);
write (a[i]:5:0); end;
writeln;
for j:=1 to m do begin
b[j]:=random(50);
write (b[j]:5:0); end;
writeln;

k:=0;
for i:=1 to n do
for j:=1 to m do begin
if a[i]=b[j] then begin pr:=0;
for l:=1 to k do
if a[i]=c[l] then pr:=1;
if pr=0 then begin k:=k+1;
c[l]:=a[i]; end; end; end;
writeln;
for l:=1 to k do write(c[l]:5:0);
readln;
end.


Но с остальным...

Последний раз редактировалось LyaLya; 28.11.2008 в 02:41.
LyaLya вне форума Ответить с цитированием
Старый 28.11.2008, 02:39   #15
LyaLya
 
Регистрация: 27.11.2008
Сообщений: 8
По умолчанию

PROGRAM pr2;
uses crt;
const n = 20; m = 10;
var a, c : array [1..n] of real;
b : array [1..m] of real;
t, l, j, i ,k, pr : integer;

BEGIN
clrscr; randomize;

for i:=1 to n do begin
a[i]:=random(50);
write (a[i]:5:0); end;
writeln;
for j:=1 to m do begin
b[j]:=random(50);
write (b[j]:5:0); end;
writeln;

k:=0;
for i:=1 to n do
for j:=1 to m do begin
if a[i]=b[j] then begin pr:=0;
for l:=1 to k do
if a[i]=c[l] then pr:=1;
if pr=0 then begin k:=k+1;
c[l]:=a[i]; end; end; end;
writeln;
for l:=1 to k do write(c[l]:5:0);
readln;
end.
LyaLya вне форума Ответить с цитированием
Старый 20.12.2009, 14:12   #16
den911
Новичок
Джуниор
 
Регистрация: 20.12.2009
Сообщений: 1
По умолчанию

помогите решить задачу !!! сформировать одномерный массив из 10 первых положительных элементов другого одномерного массива
den911 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++/ Одномерные массивы BennyBenassy Общие вопросы C/C++ 6 23.02.2009 14:27
Одномерные массивы - Pascal W_P Помощь студентам 8 27.02.2008 19:24
Паскаль. 1.Даны массивы.2 Дан X найти... Stelix Помощь студентам 7 20.11.2007 21:08