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

Как отследить одинаковые значения в массиве?

24.10.2015, 14:28. Показов 1338. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день!

Кусок кода отслеживает в переменных D1,D2,M1,M2,G1,G2,G3,G4 цифру 1 и,(они объявлены и имеют значения выше по коду)
если находит, то выводит все найденные единицы в Label1,
если не находит пишет слово "НЕТ".
И этот нубокод прокатил, если бы не нужно было найти все 9 цифр (ноль игнорится) от 1 - до 9.
Причём трижды в разных местах. Представляю себе размер такого нубокода.
Понимаю, что всё это можно реализовать через массивы, но похожего примера не встретил, а опыт в C# три недели.
Учусь по мере погружения...
Может опытные, подскажите, где тут собака порылась? )))

Да, количество единиц всё время разное, как вывести их по центру Label1.


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//________________________________________________________________  1
            Label1.Text = ("");
            int ukr11, ukr12, ukr13, ukr14, ukr15, ukr16, ukr17, ukr18;
            ukr11 = ukr12 = ukr13 = ukr14 = ukr15 = ukr16 = ukr17 = ukr18 = 0;
 
            ukr11 = D1;
            if (D1 == 1) Label1.Text = (ukr11 + "");
            ukr12 = D2;
            if (D2 == 1) Label1.Text = (Label1.Text + "" + ukr12);
            ukr13 = M1;
            if (M1 == 1) Label1.Text = (Label1.Text + "" + ukr13);
            ukr14 = M2;
            if (M2 == 1) Label1.Text = (Label1.Text + "" + ukr14);
            ukr15 = G1;
            if (G1 == 1) Label1.Text = (Label1.Text + "" + ukr15);
            ukr16 = G2;
            if (G2 == 1) Label1.Text = (Label1.Text + "" + ukr16);
            ukr17 = G3;
            if (G3 == 1) Label1.Text = (Label1.Text + "" + ukr17);
            ukr18 = G4;
            if (G4 == 1) Label1.Text = (Label1.Text + "" + ukr18);
            if (Label1.Text == "") Label1.Text = ("   НЕТ");
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.10.2015, 14:28
Ответы с готовыми решениями:

Как вывести одинаковые значения элементов в зубчатом массиве?
Например, создан массив массивов. Кол-во массивов вводит пользователь.кол-во элементов им присвоено рандомно (5-20),значения...

Как вывести одинаковые значения в массиве?
Здравствуйте! Подскажите как вывести одинаковые значения в массиве. Например, есть такой массив: $arr = array('first', 'last',...

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

6
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
24.10.2015, 14:37
Во-первых, код можно оформлять в теги, тогда его легче читать.
C#
1
//Вот так
Во-вторых, ваши переменные хорошо бы превратить в один массив и в нем уже искать нужные числа:
C#
1
2
3
4
5
6
7
8
int[] array; //Массив
 
for (int i = 0; i < array.Length; i++)
    for (int j = 1; j < 10; j++)
        if (array[i] == j)
            Label1.Text = (Label1.Text + array[i].ToString());
 
if (Label1.Text == "") Label1.Text = ("   НЕТ");
0
 Аватар для Semen_Semenych
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 19
24.10.2015, 15:06  [ТС]
Цитата Сообщение от DimanRu Посмотреть сообщение
ваши переменные хорошо бы превратить в один массив
я так и хотел предложить в вопросе, но посчитал что опытный глаз сразу это заметит и сам предложит...
за теги, прошу пощения, впредь буду использовать.
спасибо за код, попробую применить ...
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
24.10.2015, 16:03
Пожалуйста, если что-то непонятно - спрашивайте.
0
 Аватар для Semen_Semenych
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 19
24.10.2015, 16:07  [ТС]
DimanRu , Вы чуточку упростили задачу. (или я плохо объяснил её)
Этот кусок кода должен выводить только единицы, а он выводит всё (кроме ноля)
второй ему подобный только двойки,
третий - тройки, и так до 9.
именно все девять кусков я хотел как то объединить с целью упрощения и сокращения кода
(эти вычисления ещё дважды потом встречаются в задаче, только с другими переменными)
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
24.10.2015, 16:14
За сравнение с конкретным числом (1, 2 или 9) отвечает 2-ой цикл:
C#
1
for (int j = 1; j < 10; j++) //Вот эта строка
Уберите ее и замените j на 1 (или нужное).
C#
1
2
3
for (int i = 0; i < array.Length; i++)
    if (array[i] == 1) //Сравниваем все с 1
        Label1.Text = (Label1.Text + array[i].ToString());
0
 Аватар для Semen_Semenych
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 19
24.10.2015, 16:19  [ТС]
спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.10.2015, 16:19
Помогаю со студенческими работами здесь

Цикл выводит одинаковые значения в массиве
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double funk(int k); int main() ...

Объединить одинаковые значения ячеек в массиве
Здравствуйте помогите с задачей, надо объединить одинаковые значения ячеек в n-мерном массиве. Именно в массиве без БД. Подробнее на...

Поменять в массиве каждые следующие одинаковые значения на 0
Необходимо реализовать программу, которая будет менять в массиве каждые следующие одинаковые значения на 0. Пример: 1 2 3 3 3 6 6 6....

Почему в последнем массиве все значения одинаковые
здравствуйте укажите, почему в последнем массиве все значения одинаковые, ну и график не строится файл прикрепил

Не выводить если в массиве на втором уровне одинаковые значения
Приветствую всех! Нужна помощь: Есть двухмерный массив Array ( =&gt; Array ( =&gt; Petrol ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru