Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 05.03.2011
Сообщений: 36

Множественное сравнение

06.03.2011, 12:14. Показов 5740. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста - как между собой сравнить, например, символов 15?

Такой вариант не подходит, ибо он слишком громоздкий.
C#
1
i == a | i == b | i == c | a==b| b==c| a==c
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2011, 12:14
Ответы с готовыми решениями:

Множественное наследование
Доброго времени суток, форумчане! Собственно проблема: Есть класс Creature, от него наследуются классы Hero, Enemy, Boss; Естественно...

Множественное наследование в С#
Можно ли в С# сделать что-то похожее на множественное наследование в C++?

Множественное наследования
Приветстсвую всех, за что я любил плюсы, да за то что по сравнению с шарпом там есть множественное наследования, в шарпе это убрали...

13
 Аватар для Димон_
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
06.03.2011, 12:24
символы как получаются?
0
 Аватар для Neser
93 / 93 / 19
Регистрация: 25.12.2010
Сообщений: 316
06.03.2011, 12:26
Можно вынести ето с ифа, например:
C#
1
2
3
bool k = i == a;
bool k1 = i== b;
if(k|k1)
1
0 / 0 / 0
Регистрация: 05.03.2011
Сообщений: 36
06.03.2011, 12:30  [ТС]
Цитата Сообщение от Димон_ Посмотреть сообщение
символы как получаются?
Вот так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
//задаём случайное значение для 1ой кнопки
            Random ch = new Random();
            int i = ch.Next(1, 15);
            this.button1.Text = i.ToString();
          
            //2ая
            int a;
            do
            {
                a = ch.Next(1, 15);
                this.button2.Text = a.ToString();
             }
            while (i == a);
и так 15 штук =)
0
I ♥ C#
 Аватар для Delog
470 / 262 / 25
Регистрация: 07.05.2010
Сообщений: 567
06.03.2011, 12:34
C#
1
2
3
4
5
6
7
8
9
10
Char[] ArrayOfChars = new Char[]{'a','a','a','a'};
Char ComparedValue = 'a';
if (ArrayOfChars.All(x => x == ComparedValue))
{
    // код, если все символы равны
}
else
{
    // код, если есть различия
}
0
0 / 0 / 0
Регистрация: 05.03.2011
Сообщений: 36
06.03.2011, 13:26  [ТС]
Цель добиться того, чтобы они все были не равны

Добавлено через 6 минут
Цитата Сообщение от Neser Посмотреть сообщение
Можно вынести ето с ифа, например:
C#
1
2
3
bool k = i == a;
bool k1 = i== b;
if(k|k1)
А как это реализовать в данном случае?

Если

C#
1
2
3
4
5
6
7
8
9
   int b;
            do
            {
                b = ch.Next(1, 15);
                this.button3.Text = b.ToString();
                bool k2 = i == a;
                bool k1 = i == b; 
            }
            while (k2 | k1);
То k1, k2 не существует в данном контексте

А если

C#
1
2
3
4
5
6
7
8
9
10
11
 
   int b;
  bool k2 = i == a;
  bool k1 = i == b; 
            do
            {
                b = ch.Next(1, 15);
                this.button3.Text = b.ToString();
              
            }
            while (k2 | k1);
То - " Использование локальной переменной "b", которой не присвоено значение.

Добавлено через 5 минут
Ооой, чёт я затупил)

вот так должно быть:

C#
1
2
3
4
5
6
7
8
9
10
11
int b;
            bool k2;
            bool k1;
            do
            {
                b = ch.Next(1, 15);
                this.button3.Text = b.ToString();
                k2 = i == b;
                k1 = i == a;
            }
            while (k2 | k1);
Добавлено через 17 минут
пля) всё равно повторы получаются

Добавлено через 13 минут
Мужики спасайте, а то у меня на 15 кнопке вот такой код получается :

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  //15я
            int p;
            do
            {
                p = ch.Next(1, 15);
                this.button15.Text = p.ToString();
 
            }
            while (i == a | i == b | i == c | a == b | b == c | a == c | i == d | a == d | c == d | b == d | i == f |
                  a == f | b == f | c == f | d == f | i == g | a == g | b == g | c == g | d == g | f == g | i == h | a == h | b == h |
                c == h | d == h | f == h | g == h | i == j | a == j | b == j | c == j | d == j | f == j | g == j | h == j | i == k |
                a == k | b == k | c == k | d == k | f == k | g == k | h == k | j == k | i == l | a == l | b == l | c == l | d == l | f == l |
                g == l | h == l | j == l | k == l | i == m | a == m | b == m | c == m | d == m | f == m |
                g == m | h == m | j == m | k == m | l == m | i == n | a == n | b == n | c == n | d == n | f == n |
                g == n | h == n | j == n | k == n | l == n | m == n | i == o | a == o | b == o | c == o | d == o | f == o |
                g == o | h == o | j == o | k == o | l == o | m == o | n == o | i == p | a == p | b == p | c == p | d == p | f == p |
                g == p | h == p | j == p | k == p | l == p | m == p | n == p | o==p);
При отладке - комп виснет
0
 Аватар для Димон_
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
06.03.2011, 13:57
а может заносить все значения в массив, а на кнопке проверять черех фореч все значения?! Ша не могу писать, ..
0
0 / 0 / 0
Регистрация: 05.03.2011
Сообщений: 36
06.03.2011, 14:15  [ТС]
Цитата Сообщение от Димон_ Посмотреть сообщение
а может заносить все значения в массив, а на кнопке проверять черех фореч все значения?! Ша не могу писать, ..
Ща, попробуем, спасибо за идею
0
 Аватар для Димон_
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
06.03.2011, 14:33
напищишь как получиться? Блин папа ругается) приеду отвечу
0
 Аватар для Neser
93 / 93 / 19
Регистрация: 25.12.2010
Сообщений: 316
06.03.2011, 14:37
[QUOTE=Patrool;1425332]
То - " Использование локальной переменной "b", которой не присвоено значение.
вот так должно быть:

C#
1
2
3
4
5
6
7
8
9
10
11
[B][I][U]int b = null;[/U][/I][/B]
            bool k2;
            bool k1;
            do
            {
                b = ch.Next(1, 15);
                this.button3.Text = b.ToString();
                k2 = i == b;
                k1 = i == a;
            }
            while (k2 | k1);
0
 Аватар для FireOwl
62 / 44 / 14
Регистрация: 01.07.2009
Сообщений: 145
06.03.2011, 17:43
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            Random rand=new Random();
            int[] t=new int[15];
            int a,c=0;
            for (c = 0; c < 15; c++)
            {
                t[c] = 0;
            }
            for (c = 0; c < 15; c++)
            {
                while (t[a] != 0)
                {
                    a = rand.Next(14);
                }
                t[a] = c + 1;
                button[c].Text = t[a].ToString();
            }
Мои пять копеек. Только я загнал кнопки в массив. Так удобнее.
Но можно и вручную присваивать.
0
 Аватар для s-kvv
76 / 73 / 9
Регистрация: 09.06.2010
Сообщений: 206
06.03.2011, 18:10
Цитата Сообщение от Patrool Посмотреть сообщение
Цель добиться того, чтобы они все были не равны
можно создать массив неповторяющихся значений, потом их перемешать (используя Random) и взять оттуда поочередно (это если каждое значение должно быть уникальным)
0
0 / 0 / 0
Регистрация: 05.03.2011
Сообщений: 36
07.03.2011, 01:46  [ТС]
Цитата Сообщение от FireOwl Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            Random rand=new Random();
            int[] t=new int[15];
            int a,c=0;
            for (c = 0; c < 15; c++)
            {
                t[c] = 0;
            }
            for (c = 0; c < 15; c++)
            {
                while (t[a] != 0)
                {
                    a = rand.Next(14);
                }
                t[a] = c + 1;
                button[c].Text = t[a].ToString();
            }
Мои пять копеек. Только я загнал кнопки в массив. Так удобнее.
Но можно и вручную присваивать.
Почему-то выдаётся такая ошибка - Ошибка 1 Элемент "button" не существует в текущем контексте.
0
 Аватар для FireOwl
62 / 44 / 14
Регистрация: 01.07.2009
Сообщений: 145
07.03.2011, 09:35
Ну да. Его у тебя наверное нет. Строчку
C#
1
button[c].Text = t[a].ToString();
можно выкинуть, и дописать после кода:
C#
1
2
3
Button1.Text=t[0].ToString();
Button2.Text=t[1].ToString();
...
И т.д.

Мой вариант подразумевает что где-то в коде (например в конструкторе формы) был создан (вручную) массив кнопок. Так с ними было бы удобнее работать. (По крайне мере код меньше места бы занимал и приобрел некую элегантность =))

И вообще у меня в коде мои названия переменных, если копируешь, переименуй под свой проект их все.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2011, 09:35
Помогаю со студенческими работами здесь

Множественное наследование
Добрый день, есть такая задача Программа имеет определенный набор классов и методов. Сейчас решил реализовать класс MainClass в котором...

Множественное наследование.
В C# оно запрещено. Но в тоже время если: class A Class B: A Class C: B Такое возможно и при этом класс C унаследует все от класса...

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

Множественное создание Label' ов
Задача такова: если в известной директории есть папки название которых начинается на &quot;Backup&quot;, то для каждой такой папки нужно...

Множественное наследование альтернатива
есть класс адрес, который содержит статические списки городов, улиц и поля - номера города, улицы и свойства доступа(которые возвращают...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
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
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru