88 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 197

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

26.12.2025, 02:46. Показов 1248. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно сравнить элементы массива в listBox1 с listBox2 и если есть хотя бы 3 совпадения то этот массиы вывести listBox3


C#
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
 private void button3_Click(object sender, EventArgs e)
 {
 
     int r = 0;
     for (int i = 0; i < k; i++)
     {
         r = 0;
         for (int j = 0; j < 6; j++)
         {
             int y = a2[j];
             if (a1[j].Equals(a2[j]))
             {
                 r++;
             }
             if (r < 2 && j == 6)
             {
                 Array.Copy(a1, a3, a1.Length);
                 string s = String.Join(", ", a3); // подготовка вывода массива в строку
                 listBox2.Items.Add(s);            // выводим массив 
                 Array.Clear(a3, 0, a3.Length);    //очищаем массив
             }
         }
     }
 
 }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.12.2025, 02:46
Ответы с готовыми решениями:

Сравнение массивов на совпадение элементов
есть два целочисленных массива одинаковой длины,нужно вывести количество совпадающих элементов

Сравнение элементов массивов
дан массив из 6ти элементов и дан массив из трех элементов .надо заполнить третий массив который не...

Сравнение элементов матриц (двумерных массивов)
Здравствуйте! Несколько подзавис при написании программы. Суть в том, что 2 матрицы a (n*m) и b...

9
sleep
 Аватар для I can
4931 / 4592 / 840
Регистрация: 13.04.2015
Сообщений: 9,749
26.12.2025, 07:01
Цитата Сообщение от shsb62 Посмотреть сообщение
то этот массиы
Этот массив? Или эти массивы?

Добавлено через 53 секунды
Цитата Сообщение от shsb62 Посмотреть сообщение
элементы массива в listBox1 с listBox2
А как они туда попадают?
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
26.12.2025, 07:20
По восприятию лучше уж подсветить те массивы из листбокса.
0
88 / 0 / 1
Регистрация: 29.06.2011
Сообщений: 197
26.12.2025, 09:23  [ТС]
С помощью ГСЧ создаю блок массивов в listBox1, потом ввожу 6 элементов listBox2 в ручную. А теперь мне нужно найти совпадение с listBox2 с блоком массивов listBox1 и если есть хотя бы 3 номера вывести listBox3
0
sleep
 Аватар для I can
4931 / 4592 / 840
Регистрация: 13.04.2015
Сообщений: 9,749
26.12.2025, 10:52
Цитата Сообщение от shsb62 Посмотреть сообщение
вывести listBox3
Что вывести?

Цитата Сообщение от shsb62 Посмотреть сообщение
если есть хотя бы 3 номера
Размер всех массивов всегда одинаковый?
Индексы элементов должны совпадать?

Вот, допустим:
Первый массив {1,2,3,4,5,3}, второй {3,3,7,3,3,7}
Сколько тут совпадений?
Если учитывать индексы, то ни одного.
Если учитывать только уникальные значения, то одно.
Если считать количество элементов в первом массиве, имеющих такое же значение во втором, то два.
Если считать количество элементов во втором массиве, имеющих такое же значение в первом, то четыре.
0
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 334
12.01.2026, 15:25
Цитата Сообщение от shsb62 Посмотреть сообщение
С помощью ГСЧ создаю блок массивов в listBox1,
Что в вашем понимании означает фраза "Блок массивов"? Может имелось ввиду массив массивов?

Цитата Сообщение от shsb62 Посмотреть сообщение
мне нужно найти совпадение с listBox2 с блоком массивов listBox1 и если есть хотя бы 3 номера вывести listBox3
Номера чего? Номера элементов? И номера блоков массивов?
0
23 / 20 / 1
Регистрация: 15.06.2018
Сообщений: 437
15.01.2026, 14:51
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void buttonCompare_Click(object sender, EventArgs e)
        {
            // Преобразование значений ListBox в коллекции строк
            var items1 = new List<string>();
            foreach (var item in listbox1.Items)
                items1.Add(item.ToString());
 
            var items2 = new List<string>();
            foreach (var item in listbox2.Items)
                items2.Add(item.ToString());
 
            // Используем LINQ для нахождения одинаковых элементов
            var commonItems = items1.Intersect(items2);
 
            // Очистка предыдущего содержимого в третьем ListBox
            listbox3.Items.Clear();
 
            // Запись найденных совпадений в третий ListBox
            foreach (string item in commonItems)
                listbox3.Items.Add(item);
        }

Дальше доделаешь сам
0
 Аватар для iLinks
800 / 458 / 237
Регистрация: 03.01.2017
Сообщений: 1,339
16.01.2026, 15:16
Цитата Сообщение от pafka1997 Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
            // Преобразование значений ListBox в коллекции строк
            var items1 = new List<string>();
            foreach (var item in listbox1.Items)
                items1.Add(item.ToString());
            var items2 = new List<string>();
            foreach (var item in listbox2.Items)
                items2.Add(item.ToString());
            // Используем LINQ для нахождения одинаковых элементов
            var commonItems = items1.Intersect(items2);
            // Очистка предыдущего содержимого в третьем ListBox
            listbox3.Items.Clear();
            // Запись найденных совпадений в третий ListBox
            foreach (string item in commonItems)
                listbox3.Items.Add(item);
Тогда уж все в linq
C#
1
2
listbox3.Items.Clear();
listBox3.Items.AddRange(listBox1.Items.Cast<string>().Intersect(listBox2.Items.Cast<string>()).ToArray());
0
7 / 7 / 0
Регистрация: 05.04.2025
Сообщений: 32
19.01.2026, 09:54
Желательно добавить оригинальный текст задачи.
Может быть так?
C#
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
52
53
54
55
using System;
using System.Collections.Generic;
 
namespace TestApp
{
    public static class ArrayUtils
    {
        public static bool ThreeElementsEqual(int[] comp, int[] examp)
        {
            int eq = 0;
            int end = Math.Min(comp.Length, examp.Length);
 
            if (end < 3) return false;
 
            for (int i = 0; i < end; i++)
                if (eq < 3 && comp[i] == examp[i])
                    eq++;
 
            return eq == 3;
        }
 
        public static void Display(int[] origin)
        {
            var line = string.Join(",", origin);
            Console.WriteLine(line);
            // or
            // AddToListBox(line);
        }
    }
 
    public static class ArrayTrinity
    {
        public static void Eval(IEnumerable<int[]> origins,
                                int[] example,
                                Func<int[], int[], bool> accept,
                                Action<int[]> display)
        {
            foreach (var arr in origins)
                if (accept(arr, example))
                    display(arr);
        }
 
        public static void Test()
        {
            ArrayTrinity.Eval(new[]
                                {
                                    new[] { 1, 2, 3, 4 },
                                    new[] { 1, 2, 3, 4 }
                                },
                              new[] { 1, 2, 3 },
                              ArrayUtils.ThreeElementsEqual,
                              ArrayUtils.Display);
        }
    }
}
Добавлено через 4 часа 46 минут
или так:
C#
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
using System;
using System.Collections.Generic;
using System.Windows.Controls;
 
namespace TestAppClientUtils
{
    public static class ArrayUtils
    {
        public static bool ThreeElementsEqual(int[] comp, int[] examp)
        {
            int eq = 0;
            int end = Math.Min(comp.Length, examp.Length);
            for (int i = 0; i < end; i++)
            {
                if (eq < 3 && comp[i] == examp[i])
                    eq++;
            }
            return eq == 3;
        }
 
        public static void Display(int[] origin)
        {
            var line = string.Join(",", origin);
            Console.WriteLine(line);
        }
    }
 
    public interface ITrinityOperations
    {
        bool Accept(int[] comp, int[] examp);
        void Display(int[] origin);
    }
 
    public class TrinityOperations : ITrinityOperations
    {
        private readonly ListBox listBox;
 
        public TrinityOperations(ListBox listBox)
        {
            this.listBox = listBox;
        }
 
        bool ITrinityOperations.Accept(int[] comp, int[] examp)
        {
            return ArrayUtils.ThreeElementsEqual(comp, examp);
        }
 
        void ITrinityOperations.Display(int[] origin)
        {
            if (listBox == null)
                return;
            var line = string.Join(",", origin);
            if (!listBox.Items.Contains(line))
                listBox.Items.Add(line);
        }
    }
 
    public static class ArrayTrinity
    {
        public static void Eval(IEnumerable<int[]> origins,
                                int[] example,
                                ITrinityOperations operations)
        {
            foreach (var arr in origins)
            {
                if (operations.Accept(arr, example))
                    operations.Display(arr);
            }
        }
 
        public static void Test()
        {
            ArrayTrinity.Eval(new[]
                                {
                                    new[] { 1, 2, 3, 4 },
                                    new[] { 1, 2, 3, 4 }
                                },
                              new[] { 1, 2, 3 },
                              new TrinityOperations(null));
        }
    }
}
0
19.01.2026, 10:07

Не по теме:

Цитата Сообщение от DevAlt Посмотреть сообщение
Желательно добавить
Зря мы тут распинаемся, ТС-у похоже это уже неинтересно.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.01.2026, 10:07
Помогаю со студенческими работами здесь

Подсчет среднеарифметического значения массива и сравнение элементов массивов попарно
Добрый день! Прошу помочь доделать задание. Лично сделал только вывод двух массивов. Задание: При...

Сравнение DateTime - Почему сравнение запаздывает на 1 мин
public DateTime NextShort(DateTime cur, int ofset, int period) { var temp =...

Решение квадратных уравнений. Зачем сравнение сравнение с малым eps?
Здравствуйте! Меня интересует почему такой вариант нахождения корней квадратного уравнения...

Сравнение массивов
Дан двойной массив и обычный. Надо проверить сколько чисел из обычного массива совпадает с числами...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru