Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 03.01.2010
Сообщений: 27

Оптимизация кода с циклами

25.02.2013, 22:26. Показов 2367. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите оптимизировать код с тремя вложеными циклами.
Буду благодарен, и возможно это сделать стандартным способом или как то еще не переделывая всё с нуля?

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
34
35
36
37
38
39
40
public static Boolean Picture_In(Bitmap pic)
        {
            int a = 0;
            Boolean bol = false;
            Pixel p = new Pixel();
            Point point = new Point(0, 0);
            Bitmap screen = p.GetScreen();
            while (a++ < (SystemInformation.PrimaryMonitorSize.Width - (pic.Width - 1)) * (SystemInformation.PrimaryMonitorSize.Height - (pic.Height - 1)))
            {
                point = Pixel_In(0, point.Y, SystemInformation.PrimaryMonitorSize.Width - pic.Width, SystemInformation.PrimaryMonitorSize.Height - pic.Height, pic.GetPixel(0, 0));
 
                if (point != new Point(0, 0))
                {
                    bol = true;
                    for (int i = 0; i < pic.Height; i++)
                    {
                        for (int n = 0; n < pic.Width; n++)
                        {
                            if (screen.GetPixel(point.X + n, point.Y + i) == pic.GetPixel(n, i))
                            {
                                bol &= true;
                                return bol;
                            }
                            else
                            {
                                bol = false;
                            }
                        }
                        if (!bol) break; 
                    }
                    if (!bol) screen.SetPixel(point.X, point.Y, Color.Blue);
                    
 
                }
                if (point == new Point(0, 0)) break;
 
            }
 
            return bol;
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.02.2013, 22:26
Ответы с готовыми решениями:

Оптимизация кода на C#
Написал две статьи по оптимизации кода на C#: http://itw66.ru/blog/c_sharp/542.html - Работа с ресурсами сборки ...

Оптимизация кода
Помогите пожалуйста get-ер оптимизировать. Уже оптимизировал как мог для максимально быстрого получения обьекта, но все ровно не достаточно...

Оптимизация кода в C#
Подскажите книгу пожалуйста,по оптимизации кодов C# если такие имеют место быть!!! Пишу избыточные коды ((( хотелось бы писать более...

6
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
26.02.2013, 00:42
А что код делает?
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
26.02.2013, 01:05
Вам бы ответы сначала в другой своей же теме прочитать, а потом задавать такой вопрос. Там написано много полезного и лежит готовый класс для перебора пикселей(можно переделать без ооп если уж скорость совсем критична, либо добавить методы по вкусу, но суть ясна). И есть ведь Point.Empty. Кроме того лучше опишите задачу, тогда будет проще дать развернутый ответ.Вот эта тема.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
26.02.2013, 08:04
Цитата Сообщение от toha Посмотреть сообщение
if (point != new Point(0, 0))
А это чо такое? Оно всегда будет не равно. Объект жэ.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
26.02.2013, 08:21
Цитата Сообщение от dondublon Посмотреть сообщение
А это чо такое? Оно всегда будет не равно. Объект жэ.
Во-первых Point - это структура. Во-вторых у него переопределен оператор сравнения (=).
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
26.02.2013, 08:30
Э черт, все напутал.
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
27.02.2013, 23:21
C#
1
bol &= true;
Бессмысленная строчка.
C#
1
if (point == new Point(0, 0))
Лучше
C#
1
if (point.IsEmpty)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.02.2013, 23:21
Помогаю со студенческими работами здесь

Оптимизация кода
Консольное приложение. Писалось на VS 2010 с использованием .NET Framework 4. Вроде более-менее оптимизировал, но все равно генерация...

Оптимизация кода
Помогите можно ли как-то заменить этот г-код более оптимизированым: if (x == 0) { if (y == 0) ...

Оптимизация кода
Доброго времени суток, дамы и господа. Прошу помощи в оптимизации куска кода. Есть обработчик событий по клику. В обработчик событий...

Обеспечить работоспособность участка кода с вложенными циклами
Совсем запуталась в этих циклах. Самый внутренний цикл должен считать суммы произведений (ну с этим проблем нет, считает как надо)....

Оптимизация кода
Доброй ночи! Подскажите, пожалуйста, или приведите пример как упростить этот код. Программа должна выполнять следующее: из массива символов...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru