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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2023, 13:41   #1
Utkaworlddd
Новичок
Джуниор
 
Регистрация: 14.09.2023
Сообщений: 2
Вопрос Помогите с кодом

int[] one = { 1, 3, 7 };
int[] two = { 2, 4, 5, 6, 8, 9, 10 };
int[] three = new int[one.Length + two.Length];
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Есть 2 массива, нужно соединить их так, что бы в итоге получилось 1 2 3 4 5 6 7 8 9 10
У меня получается только 1 2 3 4 7 5 6 8 9 10
Помогите пожалуйста
Utkaworlddd вне форума Ответить с цитированием
Старый 14.09.2023, 14:03   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
    int iOne = 0;
    int iTwo = 0;
    int iThree = 0;
    while (iThree < three.Length)
    {
      if (iOne == one.Length)
      {
        Array.Copy(two, iTwo, three, iThree, two.Length - iTwo);
        break;
      }
      else if (iTwo == two.Length)
      {
        Array.Copy(one, iOne, three, iThree, one.Length - iOne);
        break;
      }
      else
      {
          three[iThree++] = (one[iOne] <= two[iTwo]) ? one[iOne++] : two[iTwo++];
      }
    }
pu4koff вне форума Ответить с цитированием
Старый 14.09.2023, 14:14   #3
Utkaworlddd
Новичок
Джуниор
 
Регистрация: 14.09.2023
Сообщений: 2
По умолчанию

Спасибо!
Utkaworlddd вне форума Ответить с цитированием
Старый 15.09.2023, 15:05   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Код:
int[] one = { 1, 3, 7 };
int[] two = { 2, 4, 5, 6, 8, 9, 10 };
var list = new SortedList<int, int>(one.Length + two.Length);
foreach (var value in one.Union(two)) { list.Add(value, value); }
Console.WriteLine(string.Join(",", list.Values));
phomm на форуме Ответить с цитированием
Старый 15.09.2023, 19:24   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Тогда уж:
Код:
int[] one = { 1, 3, 7 };
int[] two = { 2, 4, 5, 6, 8, 9, 10 };
Console.WriteLine(string.Join(",", one.Union(two).OrderBy(v => v)));
pu4koff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с кодом seric Фриланс 0 23.12.2016 17:35
Помогите с кодом dvpvitas Паскаль, Turbo Pascal, PascalABC.NET 5 16.06.2015 18:27
Помогите с кодом VBA Алексей11111 Microsoft Office Excel 1 19.10.2009 11:36
Помогите с кодом prostoCHEL Общие вопросы Delphi 4 02.03.2008 21:56