Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 05.10.2013
Сообщений: 91

Вывести на экран массив, который состоит из пересекающихся элементов в первых двух

14.09.2014, 20:56. Показов 1286. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Есть два одномерных массива, вывести на экран третий массив, который состоит из пересекающихся элементов в первых двух массивах.

вот мой вариант, но он не рабочий, мне выдает нули:

Pascal
1
2
3
4
5
6
7
8
9
10
11
 write('A1BC=');
  for i:=1 to 40 do
  begin
  p:=1;
  for j:=1 to 40 do
  if h[i]=bc[j] then p:=0;
  if p=0 then
  write(h[i],' ');
  end;
  writeln;
 end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.09.2014, 20:56
Ответы с готовыми решениями:

Создать (и вывести) новый массив, который состоит из положительных элементов массива у
Создать и вывести массив у с элементами {y}_{k}=|sin(12x)*cos(|2x|/3)|+4.21 k = 1, 2, ..., 7. В случае отсутствия искомых данных, вывести...

Построить третий массив, который будет состоять с одинаковых элементов значений первых двух
Попалась довольно сложная для меня задача по массивам. Дано два одномерных массива. Построить третий массив, который будет состоять с...

Как из двух однонаправленных списков создать третий, который состоит из нечетных элементов предыдущих двух?
ребят,подскажите пожалуйста как из двух однонаправленных списка создать третий который состоит из нечетных елементов преведущих двух....

5
 Аватар для aburedeb
13 / 13 / 12
Регистрация: 09.09.2014
Сообщений: 29
14.09.2014, 21:39
Лучший ответ Сообщение было отмечено Sting95 как решение

Решение

Так может массивы нулями и заполнены?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program pr;
var
  a:array[0..40] of integer;
  b:array[0..40] of integer;
  c:array[0..40] of integer;
  i,j:byte;
  count:integer;
begin
 randomize;
 for i:=0 to 40 do
  begin
   a[i]:=random(99);
   b[i]:=random(99);
  end;
 write('Новый массив=');
count:=0;
  for i:=0 to 40 do
   for j:=0 to 40 do
    begin
     if a[i]=b[j] then
      begin
       c[count]:=a[i];
       write(c[count],' ');
       count:=count+1;
      end;
    end;
 end.
end.
Это без учета одинаковвых значений конечно.

Добавлено через 15 минут
Хотя правельнее так, а то в предидушем примере был возможен выход за пределы массива...

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
program pr;
var
  a:array[0..40] of integer;
  b:array[0..40] of integer;
  c:array of integer;
  i,j:byte;
  count,m:integer;
  
begin
 randomize;
 m:=40;
 setlength(c,m);
 for i:=0 to 40 do
  begin
   a[i]:=random(99);
   b[i]:=random(99);
  end;
 write('Новый массив=');
count:=0;
  for i:=0 to 40 do
   for j:=0 to 40 do
    begin
     if a[i]=b[j] then
      begin
       c[count]:=a[i];
       write(c[count],' ');
       count:=count+1;
       if count>=m then
        begin 
         setLength(c,count+10);
         m:=count+10;
        end;
      end;
    end;
 end.
end.
0
2 / 2 / 0
Регистрация: 05.10.2013
Сообщений: 91
14.09.2014, 21:44  [ТС]
А можешь ещё, пожалуйста, добавить, чтобы в третьем массиве не было повторяющихся значений?
0
 Аватар для aburedeb
13 / 13 / 12
Регистрация: 09.09.2014
Сообщений: 29
14.09.2014, 22:24
Кликните здесь для просмотра всего текста

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
program pr;
var
  a:array[0..40] of integer;
  b:array[0..40] of integer;
  c:array of integer;
  i,j:byte;
  count,m,k:integer;
  flag:boolean;
begin
 randomize;
 m:=40;
 setlength(c,m);
 for i:=0 to 40 do
  begin
   a[i]:=random(99);
   b[i]:=random(99);
  end;
 write('Новый массив=');
count:=0;
for i:=0 to m do
 c[i]:=0;
  for i:=0 to 40 do
   for j:=0 to 40 do
    begin
     if a[i]=b[j] then
      begin
        flag:=true;
       for k:=0 to count do
          if a[i]=c[k] then flag:=false;
       if flag then  
        begin
         c[count]:=a[i];
         write(c[count],' ');
         count:=count+1;
       
         if count>=m then
          begin 
           setLength(c,count+10);
           m:=count+10;
          end;
        end;
      end;
    end;
 end.
end.
0
2 / 2 / 0
Регистрация: 05.10.2013
Сообщений: 91
14.09.2014, 22:39  [ТС]
aburedeb, я конечно извиняюсь, но почему-то не хочет нормально работать, может проблема во всём коде, посмотрите, пожалуйста, и если можете, то помогите - Задать множества А, В, С, состоящие из натуральных чисел из диапазона от 1 до 40
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
15.09.2014, 11:24
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
uses crt;
const nmax=100;
type mas=array[1..nmax] of integer;
{ввод массива}
procedure vvod(var v:mas;var x:byte;c:char);
var i:byte;
begin
repeat
write('Размер массива ',c,'=');
readln(x);
until x in [1..nmax];
for i:=1 to x do
v[i]:=random(20);
end;
{вывод масива на экран}
procedure Vyvod(var v:mas;x:byte;c:string);
var i:byte;
begin
writeln('Массив ',c);
for i:=1 to x do
write(v[i]:4);
writeln;
end;
 
var a,b,c:mas;
    na,nb,nc,i,j,k,p,q:byte;
begin
Vvod(a,na,'A');
Vvod(b,nb,'B');
Vyvod(a,na,'A');
Vyvod(b,nb,'B');
{поиск общих элементов и создание нового массива}
nc:=0;{размер нового массива}
for i:=1 to na do
for j:=1 to nb do
if b[j]=a[i] then {если пара}
 begin
  k:=1;
  p:=0;
  while(k<=nc)and(p=0) do
  if c[k]=b[j] then p:=1
  else inc(k);
  if p=0 then{если нет в 3 массиве}
   begin
    inc(nc);{увеличим размер 3 массива}
    c[nc]:=b[j];{запишем элемент}
   end;
  end;
if nc=0 then write('Общих элементов нет!')
else Vyvod(c,nc,'C');
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.09.2014, 11:24
Помогаю со студенческими работами здесь

Вывести на экран текст, который состоит из строк с четными порядковыми номерами
Помогите подкорректировать программу: 1) Вывести на экран текст, который состоит из строк с парными порядочными номерами Program Z_2; ...

Дано два массива одинаковой длины по 10 элементов. Создать третий массив который будет отображать сумму первых двух массивов(для одномерного и двумер
Дано два массива одинаковой длины по 10 элементов. Создать третий массив который будет отображать сумму первых двух массивов(для...

создать массив который состоит из милион элементов
Можно ли в С++ создать массив который состоит из милион элементов. И если можно то как.

Вывести на экран одномерный целочисленный массив из 15 элементов, который заполнится случайными числами от 0 до 50
Вывести на экран одномерный целочисленный массив из 15 элементов, который заполниться случайными числами от 0 до 50. После чего в этом...

Вывести на экран только те, у которых сумма первых двух цифер равна сумме двух последних.
Дан массив из n четырёхзначных натуральных чисел. Вывести на экран только те, у которых сумма первых двух цифер равна сумме двух последних.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru