Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 7

Сравнение элементов векторов

07.04.2016, 04:51. Показов 1512. Ответов 1

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

2 1 2 0

0 1 2 2

все элементы в них одинаковые, надо вывести на экран "да", но сравнивая множествами не выходит, так как множества не учитывают повторение элементов, например:

2 2 1 0

2 1 0 0

Паскаль выводит мне "да", хотя вектора отличаются по элементам.
Вот код через множества, может кто нибудь сможет помочь, каким то иным способом:
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 p;
const
n = 3;
vect_min=0;
vect_max=2;
var
vector1,vector2:array[1..n] of integer;
a, b, c:set of 0..9;
i, j:integer;
 
 
begin
randomize;
 
for i:=1 to n do
begin
vector1[i]:=random(vect_max-vect_min+1)+vect_min;
include(a,vector1[i]);
end;
writeln;
 
for i:=1 to n do
begin
vector2[i]:=random(vect_max-vect_min+1)+vect_min;
include(b,vector2[i]);
end;
 
for i:=1 to n do
begin
write(' ',vector1[i]);
end;
writeln;
 
for i:=1 to n do
begin
write(' ',vector2[i]);
end;
writeln;
c:=a-b;
if (a=b) then
writeln('В векторах одинаковые элементы');
if (a<>b) then
writeln('В векторах разные элементы');
 
end.
Заранее благодарю!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2016, 04:51
Ответы с готовыми решениями:

Сравнение длин векторов через процедуры
Const n=10; Var V1,V2,V: array of Integer; L1,L2 : Real; i : Longint; Begin {...} { блок...

Дополните пожалуйста эти методы! скалярное произведение векторов, умножение на скаляр, сравнение векторов, сравнение
public class VectorTricks { public static void main(String args) { Vector v1 = new Vector(1, 2, 3); Vector v2...

Сравнение двух векторов <string>, удаление повторяющихся элементов
# include &lt;iostream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include &lt;cstdio&gt; #...

1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.04.2016, 09:37
Цитата Сообщение от _Vladislav_ Посмотреть сообщение
Пытался через множества сравнить
Это нельзя, ибо элементы векторов не обязательно числа типа byte, и векторы
2 1 2 0
0 1 2 2
не равны, а множества, составленные из них {0,1,2} равны.

Добавлено через 7 минут
Можно например так.
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
var a,b:array[1..nmax] of integer;
    n,i,j,k,p:byte;
begin
repeat
write('Размер массивов n=');
readln(n);
until n in [1..nmax];
writeln('Введите элементы вектора А:');
for i:=1 to n do
 begin
  write('al[',i,']=');
  readln(a[i]);
 end;
writeln('Введите элементы вектора B:');
for i:=1 to n do
 begin
  write('bl[',i,']=');
  readln(b[i]);
 end;
writeln('Вектор A:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln('Вектор B:');
for i:=1 to n do
write(b[i],' ');
writeln;
i:=1;
while i<=n do
 begin
  j:=1;p:=0;
  while j<=n do
   begin
    if b[j]=a[i] then //если нашли одинаковую пару
     begin
      p:=1;
      for k:=i to n-1 do //удаляем эти элементы из своих массивов
      a[k]:=a[k+1];
      for k:=j to n-1 do
      b[k]:=b[k+1];
      n:=n-1;//умньшаем n
      break;
     end
    else j:=j+1;
   end;
  if p=0 then i:=i+1;
 end;
if n=0 then write('Да')
else write('Нет');
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.04.2016, 09:37
Помогаю со студенческими работами здесь

Сравнение значений элементов двух векторов с одинаковым размером
Делаю модель по Монте-Карло, экспоненциальное распределение по методу отбора. Алгоритм можете видеть на первом скрине и проблема точно не в...

Сравнение векторов
Вот имеется вектор &lt;bool&gt; длиной допустим 5, а второй вектор &lt;bool&gt; длиной 200. Вот мне надо сравнить первый вектор с частью второго,...

Сравнение векторов
Здравствуйте! Есть задача – нужно посчитать, сколько элементов из RESULT содержат во втором векторе пары все элементы из K. Вот функция,...

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

Сравнение векторов
задание мой лабораторной разработать элементы класса: Класс vector3D, задаваемый тройкой координат. Поля: double a, b, c; ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru