Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Гаряка Асмик
Статус: Профессор
Рейтинг: 6052
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2587
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2205
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / C/C++

Номер выпуска:1613
Дата выхода:19.12.2010, 17:00
Администратор рассылки:Verena (Профессор)
Подписчиков / экспертов:329 / 178
Вопросов / ответов:4 / 4

Вопрос № 181258: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос об очередной задаче о перколяции на кубической решетке: Перколяция считается по 3 направлениям -горизонтальной, вертикальной и диагональной( ну по оси z то есть). Но есть сло...


Вопрос № 181319: Здравствуйте, уважаемые эксперты! Помогите пожалуйста решить такую задачу: Написать программу нахождения в графе мостов и точек сочленения. ...
Вопрос № 181339: Здравствуйте, уважаемые эксперты! Можете пожалуйста помочь с разработкой программы ? Разработать программу для обработки растровых изображений, хранящихся в файлах формата BMP (BitMaP) : Изменить яркость изображения. Самый простой спосо...
Вопрос № 181346: Здравствуйте, уважаемые эксперты! Прошу Вас помочь с переделыванием структуры программы в приложении, написанной на code blocks, на работу с файлами. Хочется в готовой программе увидеть следующий вывод: http://s43.radikal.ru/i102/1011/cc/79e92bc87...

Вопрос № 181258:

Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос об очередной задаче о перколяции на кубической решетке:
Перколяция считается по 3 направлениям -горизонтальной, вертикальной и диагональной( ну по оси z то есть). Но есть сложность в заполнении самой решетки : если решетка 10х10х10, то программа считает довольно быстро. Если решетка 20х20х20 то программа зависает(начинает считать КРАЙНЕ медленно) при вероятности заполнения решетки где на 23%. При решетке 50х50х50 - еще раньше.
Думаю, что проблема именно в ее заполнении.
Делала заполнение решетки, как в квадратной, но тогда программа вопще заполнять не хотела
//заполнение матрицы
int c1 = klinear*kwide*kheight*p; //число единиц
int k1 = 0;
int ofs_w, ofs_l, ofs_h;
srand (time(NULL));
while (k1<c1) {
ofs_w = rand()%kwide;
ofs_l = rand()%klinear;
ofs_h = rand()%kheight;
if (matrix[ofs_l][ofs_w][ofs_h]!=0) continue;
matrix[ofs_l][ofs_w][ofs_h] = 1;
k1++;
}

Отправлен: 12.12.2010, 22:37
Вопрос задал: Yulesik (1-й класс)
Всего ответов: 1
Страница вопроса »


Отвечает Evgenijm (10-й класс) :
Здравствуйте, Yulesik!

Раз та программа уже полностью рабочая, я сделал более сложную. Она уже зависит только от доступной памяти. Проверил на кубе 500*500*500 - работает, хоть и очень долго. Максимальный путь на таком кубе составил 42311 шагов. В стандартный стек столько функций не помещается. Оптимизации:

Куб хранится одним блоком памяти. Так он меньше места занимает и доступ быстрее.
Эмуляция рекурсии стеком. В структуре State хранится информация, которая хранилась бы в экземпляре функции. Теперь переполнения стека не будет.
Стек кешируется, чтобы объекты не создавались-удалялись постоянно. На это уходит очень много времени.

Теперь размер 200*200*200 берет очень резво, только на переходных вероятностях затормаживается.

Приложение:

Ответ отправил: Evgenijm (10-й класс)
Ответ отправлен: 17.12.2010, 04:35
Номер ответа: 264832

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 264832 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Вопрос № 181319:

    Здравствуйте, уважаемые эксперты! Помогите пожалуйста решить такую задачу: Написать программу нахождения в графе мостов и точек сочленения.

    Отправлен: 13.12.2010, 18:47
    Вопрос задал: Николаев Александр Валерьевич (Посетитель)
    Всего ответов: 1
    Страница вопроса »


    Отвечает Гаряка Асмик (Профессор) :
    Здравствуйте, Николаев Александр Валерьевич!

    Прямое ребро (x,y) является мостом если и только если low[y]=enter[y]. (Обратное ребро никогда не может быть мостом). Вершина x является точкой сочленения если low[x] = enter[x], за исключением случая когда она - корень дерева поиска и имеет менее чем двух потомков в дереве.

    После небольших изменений программа вычисляет и точки сочленения.

    Приложение:

    Ответ отправил: Гаряка Асмик (Профессор)
    Ответ отправлен: 18.12.2010, 18:40
    Номер ответа: 264878

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 264878 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Вопрос № 181339:

    Здравствуйте, уважаемые эксперты! Можете пожалуйста помочь с разработкой программы ?

    Разработать программу для обработки растровых изображений, хранящихся в файлах формата BMP (BitMaP) :

    Изменить яркость изображения. Самый простой способ - изменить значения ком-понентов всех пикселей растрового изображения на некоторое значение V, лежа-щее в диапазоне от -255 до 255 (отрицательные значения уменьшают яркость, по-ложительные - увеличивают) и вводимое из текстового файла (но лучше, если из командной строки).

    Далее условия выполнения (и есть еще структура заголовка которая приведена в таблице)

    (РАСТРОВЫЕ ИЗОБРАЖЕНИЯ

    Растровое изображение представляет собой матрицу пикселей, каждый из которых имеет свой цвет. Основными характеристиками растрового изображения являются разре-шение и глубина цвета. Разрешение определяет размеры изображения: его длину (количе-ство пикселей в строке) и высоту (количество строк). Глубина цвета определяет количест-во используемых в изображение цветов и оттенков. Глубина цвета зависит от выбранной цветовой модели, а также количества бит, отводимых для хранения цвета одного пикселя изображения. Наиболее распространенной цветовой моделью является цветовая модель RGB (Red, Green, Blue), в соответствии с которой цвет пикселя изображения описывается последовательностью из трех значений: интенсивность красного, зеленого и синего цве-тов.

    ФОРМАТ BMP ФАЙЛА

    В файле формата bmp можно выделить несколько частей:
    ∙ заголовок;
    ∙ палитра (присутствует только в палитровых изображениях, их рассматривать не будем);
    ∙ массив пикселей изображения.
    Заголовок описывает основные характеристики хранимого изображения. Он располо-жен в самом начале файла и всегда занимает 54 байта. )

    Отправлен: 14.12.2010, 01:22
    Вопрос задал: Алексей (Посетитель)
    Всего ответов: 1
    Страница вопроса »


    Отвечает Павел Юрьевич (6-й класс) :
    Здравствуйте, Алексей!

    Вот здесь есть пример с исходниками: http://www.codeproject.com/KB/graphics/imagepreview.aspx

    Ответ отправил: Павел Юрьевич (6-й класс)
    Ответ отправлен: 14.12.2010, 12:05
    Номер ответа: 264762

    Оценка ответа: 5

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 264762 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Вопрос № 181346:

    Здравствуйте, уважаемые эксперты! Прошу Вас помочь с переделыванием структуры программы в приложении, написанной на code blocks, на работу с файлами.
    Хочется в готовой программе увидеть следующий вывод: http://s43.radikal.ru/i102/1011/cc/79e92bc876cb.png
    Спасибо.

    Отправлен: 14.12.2010, 12:07
    Вопрос задал: Aptemis (Посетитель)
    Всего ответов: 1
    Страница вопроса »


    Отвечает Verena (Профессор) :
    Здравствуйте, Aptemis!
    Если вносить минимальные изменения в исходную программу, то проще всего все scanf-ы заменить на fscanf, а printf-ы, отвечающие за вывод, на fprintf. Число записей тоже можно читать из файла, но тогда уже надо будет использовать динамические массивы. Простейший пример в приложении, в логику программы никаких изменений не вносила.
    Удачи!

    Приложение:

    -----
    Эта история - не для истории, понимаешь?

    Ответ отправил: Verena (Профессор)
    Ответ отправлен: 18.12.2010, 01:19
    Номер ответа: 264863

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 264863 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFPRO.RU, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.25 от 13.12.2010

    В избранное