Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Сортировка массива Добавлено: 21.08.12 06:09  

Автор вопроса:  vitaliy_84 | Web-сайт: vitalij_kovalenko_1984.mail.ru

Ответить

  Ответы Всего ответов: 40  

Номер ответа: 16
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #16
Добавлено: 22.08.12 16:18
получается так http://pastebin.com/zubHCD7D

Ответить

Номер ответа: 17
Автор ответа:
 ковалєнко



Вопросов: 0
Ответов: 9
 Профиль | | #17 Добавлено: 22.08.12 18:43
Нє лєгко насправді ( код http://filedairy.com/?d=5034EF3C1 )

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace sorting
{
 public partial class Form1 : Form
 {

  public Form1()
  {
   InitializeComponent();
  }

  private void button1_Click(object sender, EventArgs e)
  {
   string[] items = textBox1.Text.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
   listBox1.Items.Clear();
   listBox1.Items.AddRange((string[];)items.Clone());
   Array.Sort(items, new Sorter());
   listBox2.Items.Clear();
   listBox2.Items.AddRange(items);
  }

  private class Sorter : IComparer<string>
  {
   public int Compare(string x, string y)
   {
    if (x.Length < y.Length)
     return 1;
    else if (y.Length < x.Length)
     return -1;
    else
    {
     for (int i = 0; i < x.Length; i++)
     {
      if (x[i] > y[i];)
       return 1;
      else if (x[i] < y[i];)
       return -1;
     }
     return 0;
    }
   }
  }
  
 }
}

Ответить

Номер ответа: 18
Автор ответа:
 ковалєнко



Вопросов: 0
Ответов: 9
 Профиль | | #18 Добавлено: 22.08.12 18:44
дякую

Ответить

Номер ответа: 19
Автор ответа:
 ковалєнко



Вопросов: 0
Ответов: 9
 Профиль | | #19 Добавлено: 22.08.12 18:46
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8.  
  9. namespace sorting
  10. {
  11.  public partial class Form1 : Form
  12.  {
  13.  
  14.   public Form1()
  15.   {
  16.    InitializeComponent();
  17.   }
  18.  
  19.   private void button1_Click(object sender, EventArgs e)
  20.   {
  21.    string[] items = textBox1.Text.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
  22.    listBox1.Items.Clear();
  23.    listBox1.Items.AddRange((string[])items.Clone());
  24.    Array.Sort(items, new Sorter());
  25.    listBox2.Items.Clear();
  26.    listBox2.Items.AddRange(items);
  27.   }
  28.  
  29.   private class Sorter : IComparer<string>
  30.   {
  31.    public int Compare(string x, string y)
  32.    {
  33.     if (x.Length < y.Length)
  34.      return 1;
  35.     else if (y.Length < x.Length)
  36.      return -1;
  37.     else
  38.     {
  39.      for (int i = 0; i < x.Length; i++)
  40.      {
  41.       if (x > y)
  42.        return 1;
  43.       else if (x < y)
  44.        return -1;
  45.      }
  46.      return 0;
  47.     }
  48.    }
  49.   }
  50.   
  51.  }
  52. }

Ответить

Номер ответа: 20
Автор ответа:
 ковалєнко



Вопросов: 0
Ответов: 9
 Профиль | | #20 Добавлено: 22.08.12 18:46
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8.  
  9. namespace sorting
  10. {
  11.  public partial class Form1 : Form
  12.  {
  13.  
  14.   public Form1()
  15.   {
  16.    InitializeComponent();
  17.   }
  18.  
  19.   private void button1_Click(object sender, EventArgs e)
  20.   {
  21.    string[] items = textBox1.Text.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
  22.    listBox1.Items.Clear();
  23.    listBox1.Items.AddRange((string[])items.Clone());
  24.    Array.Sort(items, new Sorter());
  25.    listBox2.Items.Clear();
  26.    listBox2.Items.AddRange(items);
  27.   }
  28.  
  29.   private class Sorter : IComparer<string>
  30.   {
  31.    public int Compare(string x, string y)
  32.    {
  33.     if (x.Length < y.Length)
  34.      return 1;
  35.     else if (y.Length < x.Length)
  36.      return -1;
  37.     else
  38.     {
  39.      for (int i = 0; i < x.Length; i++)
  40.      {
  41.       if (x > y)
  42.        return 1;
  43.       else if (x < y)
  44.        return -1;
  45.      }
  46.      return 0;
  47.     }
  48.    }
  49.   }
  50.   
  51.  }
  52. }

Ответить

Номер ответа: 21
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #21 Добавлено: 22.08.12 18:57
  1. IEnumerable<string> items = ........;
  2. IEnumerable<string> sortedItems = items.OrderBy(s=> s.Length);

Ответить

Номер ответа: 22
Автор ответа:
 ковалєнко



Вопросов: 0
Ответов: 9
 Профиль | | #22 Добавлено: 22.08.12 18:59
net framework 2.0 !!!

Ответить

Номер ответа: 23
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #23 Добавлено: 22.08.12 20:08
Сократить код с 53 строчек до 2 - достаточное обоснование для перехода на 3.5

Ответить

Номер ответа: 24
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #24 Добавлено: 22.08.12 23:40
ковалєнко пишет:
net framework 2.0

что за странная тяга к использованию того,что юзали 5-10 лет назад??? Уже Fw 5.0 на подходе а они все еще 2.0 пилят.. и что самое забавное - продолжают изобретать всякие велосипеды...

Кроме того,если так уже хочется заюзать Comparer то опять таки не надо изобретать очередной велосипед, юзай готовый StringComparer
http://msdn.microsoft.com/ru-ru/library/system.stringcomparer.aspx
Представляет операции сравнения строк, в которых используются правила сравнения с учетом регистра, языка и региональных параметров или правил сравнения по порядковому номеру.

Ответить

Номер ответа: 25
Автор ответа:
 Бджьєїъёґы



Вопросов: 0
Ответов: 5
 Профиль | | #25 Добавлено: 23.08.12 03:32
Сократить код с 53 строчек до 2 - достаточное обоснование для перехода на 3.5

двумя строками ты ж не всю демку записал

что за странная тяга к использованию того,что юзали 5-10 лет назад??? Уже Fw 5.0 на подходе а они все еще 2.0 пилят..


творения microsoft изучать от версии к версии давно стало не интересно. ведь ничего принципиально нового не создают. просто делают деньги путем переиначивания старого по-новому. потому интересней творить самому с ноля. от дело в чем EROS. мы кстати с тобой несколько лет назад обсуждали один подобный вопрос.

к тому же код под 2.0 к примеру совместим с mono

Ответить

Номер ответа: 26
Автор ответа:
 Бджьєїъёґы



Вопросов: 0
Ответов: 5
 Профиль | | #26 Добавлено: 23.08.12 03:49
корочє, всем спасибо, не парьтесь; я просто зашел посмотреь была ли доделана наконец бета vbnet.ru

Ответить

Номер ответа: 27
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #27 Добавлено: 24.08.12 10:13
Бджьєїъёґы пишет:
творения microsoft изучать от версии к версии давно стало не интересно. ведь ничего принципиально нового не создают. просто делают деньги путем переиначивания старого по-новому. потому интересней творить самому с ноля. от дело в чем EROS. мы кстати с тобой несколько лет назад обсуждали один подобный вопрос.

Кто тебя в Microsoft обидел? .NET Framework бесплатный, все комплитяоры бесплатные, документация бесплатная, Visual Studio Express бесплатна, SQL Server Express бесплатная. Кто с тебя денег-то скачал?

Ответить

Номер ответа: 28
Автор ответа:
 ytruytruy



Вопросов: 0
Ответов: 3
 Профиль | | #28 Добавлено: 24.08.12 19:23
Никто меня не обижал. Я просто скептично отношусь ко всем новым технологиям от Microsoft.

.NET Framework бесплатный, все комплитяоры бесплатные, документация бесплатная, Visual Studio Express бесплатна, SQL Server Express бесплатная. Кто с тебя денег-то скачал?
Windows бесплатная? VS бесплатная? и тд. Ведь все написаное для net 3/x без преувеличения можно считать написанным исключительно для Windows.

ps. В Net куча вещей можно реализовать в виде отдельных продуктов которые и нафиг никому не будут нужны. С другой стороны, если в Microsoft избрали именно такой подход к делу, почему например в Net поддержка Zip архивов реализована только с 4.5 версии. и тд и тп. ..... )))))))))))))

Ответить

Номер ответа: 29
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #29 Добавлено: 24.08.12 19:51
Ведь все написаное для net 3/x без преувеличения можно считать написанным исключительно для Windows.

А ты много видел коммерческого софта,который изначально разрабатывался под линукс? Доля рынка линукса в десктопах, в сравнии с виндой, ваще ниочем. Отсюда можно сделать вывод,что софт пишут под ту платформу которая более востребована.. Да и с точки зрения Microsoft было бы большой тупостью выпускать продукты которые позволят развиваться линуксу..
Есть чем ответить?

Ответить

Номер ответа: 30
Автор ответа:
 fffff



Вопросов: 0
Ответов: 1
 Профиль | | #30 Добавлено: 24.08.12 21:29
Возразить нечем. Практически, за исключением того, что NET изначально кроссплатформенной задумана. И до 3\x хотябы призрак последней сохранялся. Код более менее также совместим и Java с C\C++, и с портированием тудом-сюдом особых проблем .net; Бесит отношение Microsoft к пользователям своих продуктов. Это и VB касается, старого VB5-6, с которого я начинал и который практически в пользу C# скормили. я с vb на vb.net, и с vb.net на c# переходил (из за поддержки шарпом указателей). а скоро EROS Microsoft N#++ v45.5678 начнет продвигать и вот тогда и послушаем что будешь говорить. Удачи )))

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам