Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
piloterist
3 / 3 / 9
Регистрация: 10.10.2009
Сообщений: 301
#1

Поиск совпадений в массивах - C#

18.10.2010, 21:56. Просмотров 3216. Ответов 12
Метки нет (Все метки)

Добрый вечер.
Подскажите пожалуйста как найти совпадения в n массивах различной длинны.
Допустим есть 3 массива (хотя может быть от 1 до 5)
a = [2 3 6 9 12]
b = [6 24]
c = [1 24 6 3]

в качестве результата должно получиться "6".
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2010, 21:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поиск совпадений в массивах (C#):

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

Поиск совпадений
Помогите пожалуйста, задали начинающему такую задачку хоть вешайся... На...

Поиск совпадений
Привет, подскажите как осуществить: Пользователь вводит с клавиатуры слово,...

Поиск совпадений по массиву
В строковом массиве находятся строки слова. string={"hi", "here", "your",...

Поиск совпадений в массиве
Добрый день. нужно реализовать алгоритм на c#. Вводим массив чисел, например:...

Поиск совпадений в тексте
Очередной раз привет всем! Уже в третий раз задаю подобный вопрос. Пожалуйста...

12
Rockedit
Автор FAQ
Автор FAQ
1768 / 577 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
18.10.2010, 22:41 #2
так можно найти пересечение хоть 1000 массивов.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var t1 = new[] { 1, 2, 3, 4 };
            var t2 = new[] { 2, 3 };
            var t3 = new[] { 3,12,45,2};
            var t4 = new[] { 3, 12, 45, 2 };
            var t5 = new[] { 2, 3 };
            var t6 = new[] { 3, 12, 45, 2,45,67,87,4544 };
            var t7 = new[] { 3, 12, 45, 2,1,1,1,3,4,5 };
            var t8 = new[] { 3, 2 };
            var t9 = new[] { 3};
 
 
 
            IEnumerable<IEnumerable<int>> t = new[] { t1, t2,t3,t4,t5,t6,t7,t8,t9 };
            var inter = t
                .Aggregate(Enumerable.Intersect)
                .ToList();
 
            foreach (var i in inter)
                Console.WriteLine(i);
        }
    }
}
1
piloterist
3 / 3 / 9
Регистрация: 10.10.2009
Сообщений: 301
20.10.2010, 22:13  [ТС] #3
Чего-то не получается у меня таким образом. Вывожу i и получаю 0 хотя совпадения есть.

Добавлено через 47 минут
Да и потом такой способ мне не поможет никак. Я заранее не знаю сколько массивов мне придется сравнивать. Хотя если очень под напрячься это можно установить. Главное чтобы работал алгоритм.
0
Rockedit
Автор FAQ
Автор FAQ
1768 / 577 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
20.10.2010, 22:25 #4
Я заранее не знаю сколько массивов мне придется сравнивать
это не проблема.
Просто формируйте массив массивов динамически, я для примера просто показал, что вот я объявил массивы, вот я их добавил в качестве элементов массива массивов.
0
piloterist
3 / 3 / 9
Регистрация: 10.10.2009
Сообщений: 301
21.10.2010, 21:12  [ТС] #5
А если совпадений несколько? выводит только одно.
0
Rockedit
Автор FAQ
Автор FAQ
1768 / 577 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
21.10.2010, 21:17 #6
У меня выводил все)
0
piloterist
3 / 3 / 9
Регистрация: 10.10.2009
Сообщений: 301
21.10.2010, 21:43  [ТС] #7
А как присвоить Элементу массива массив? Я наверно не так создаю.
Создал массив:
C#
1
            MassivMassiv = new int[1000];
И хочу элементу этого массива с номером "kolvoMassiv" присвоить массив "strokiProizv"
C#
1
MassivMassiv[kolvoMassiv] = strokiProizv ;
Как правильно?
0
piloterist
3 / 3 / 9
Регистрация: 10.10.2009
Сообщений: 301
23.10.2010, 19:27  [ТС] #8
Ну что не подскажите? Как мне элементу массива присвоить массив.
Как объявляются массивы массивов.
0
kenny69
burning1ife
1371 / 1198 / 282
Регистрация: 21.09.2008
Сообщений: 3,356
Записей в блоге: 9
23.10.2010, 19:51 #9
http://www.c-help.net/34.html
и на будущее пользуйся поиском... такой инфы полно
1
piloterist
3 / 3 / 9
Регистрация: 10.10.2009
Сообщений: 301
23.10.2010, 20:11  [ТС] #10
Откудаж я знал что они ступенчатыми называются. Я искал массив массивов=)
0
Rockedit
Автор FAQ
Автор FAQ
1768 / 577 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
24.10.2010, 00:05 #11
Цитата Сообщение от piloterist Посмотреть сообщение
Откудаж я знал что они ступенчатыми называются. Я искал массив массивов=)
они называются по разному, зубчатые чаше всего. Но и тотт вариант, что я сказал тоже употребляют.
0
piloterist
3 / 3 / 9
Регистрация: 10.10.2009
Сообщений: 301
24.10.2010, 19:35  [ТС] #12
Чего-то не получается.
Я собрал массив массивов.
Объявил его как
C#
1
public static int[][] MassivMassiv;
Присваивал его элементам массивы:
C#
1
MassivMassiv[kolvoMassiv] = strokiWtraf;
что дальше делать?
Что значит этот код?
C#
1
2
.Aggregate(Enumerable.Intersect)
                .ToList();
0
Rockedit
Автор FAQ
Автор FAQ
1768 / 577 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
24.10.2010, 20:04 #13
Цитата Сообщение от piloterist Посмотреть сообщение
Чего-то не получается.
Я собрал массив массивов.
Объявил его как
C#
1
public static int[][] MassivMassiv;
Присваивал его элементам массивы:
C#
1
MassivMassiv[kolvoMassiv] = strokiWtraf;
что дальше делать?
Что значит этот код?
C#
1
2
.Aggregate(Enumerable.Intersect)
                .ToList();
Этот код значит выполнить пересечение и результат представить в виде List.
0
24.10.2010, 20:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2010, 20:04
Привет! Вот еще темы с решениями:

Поиск совпадений в строках циклом
Поиск совпадений в строках циклом using System; using...

Чтение XML и поиск совпадений
Вообщем уважаемые программисты, вот у меня есть один XML Файл (для него я пишу...

Поиск совпадений в текстовом файле
Помогите провести поиск совпадений в текстовом файле! У нас известно такие...

Поиск совпадений в html документе
Здравствуйте. Я новичок в c#. Помогите реализовать это: программа загружает...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru