|
 |
|
|
Дан массив a[1..n] и число b. Переставить числа в массиве таким образом, чтобы слева от некоторой границы стояли числа, меньшие или равные b, а справа от границы - большие или равные b.Решение: l:=0; r:=n; {инвариант: a[1]..a[l]<=b; a[r+1]..a[n]>=b} while l <> r do begin | if a[l+1] <= b then begin | | l:=l+1; | end else if a[r]>=b then begin | | r:=r-1; | end else begin {a[l+1]>b; a[r]<b} | | поменять a[l+1] и a[r] | | l:=l+1; r:+r-1; | end; end;
|
|
|
|
 |
|
|
Построить алгоритм, выдающий без повторений все перестановки N чисел.
Решение задачи:
Этот алгоpитм хорошо известен и достаточно подробно изложен. Опишем его (при N=5), от чего рассуждения не утратят общности. Алгоритм составлен так, что в процессе его исполнения перестановки N чисел располагаются лексикографически (в словарном порядке). Это значит, что перестановки сравниваются слева направо поэлементно. Больше та, у которой раньше встретился элемент, больше соответствующего ему элемента во второй перестановке. (Например, если S=(3,5,4,6,7),а L=(3,5,6,4,7), то S |
|
|
|
 |
|
|
Тест простоты Рабина{IsPrime.Pas ver. 2.0 (c) Max Alekseyev , 2:5015/60@FidoNet} {Реализация вероятностного алгоритма Миллера-Рабина с 20 раундами. Для примера выдает простые на отрезке [1000000000,1000100000]. Вероятность ошибки (то, что составное число будет названо простым) меньше 4^(-Rounds).} |
|
|
|
 |
|
|
Существует около 8 500 языков программирования (не удивляйтесь, данные не преувеличены), однако, несмотря на такое разнообразие, число языков, на которых пишет большинство, с трудом переваливает за десяток. Причин, почему тот или иной язык не стал популярным, ничуть не меньше, чем самих языков. Это и распри между их создателями, и плохо организованный процесс продажи, и появление новых технологий, и просто откровенная «кривизна».
В этой статье мы рассмотрим 12 языков программирования, которые не пользуются популярностью среди разработчиков, а также причины этой «нелюбви». |
|
|
|
 |
|
|
Приведённый здесь материал можно озаглавить не иначе как "Чем заняться программисту, если нечего делать". На самом деле, Delphi настолько интересная среда, что в ней наряду с разработкой серьёзных приложений можно легко увлечься созданием абсолютно бесполезных вещей. |
|
|
|
 |
|
|
Собственно сабж. Читаем ниже...
1. Даны 2 буфера фиксированной длины. В начале каждого лежат данные (строчки текст), дальне до конца нули. Поменять строчки местами и перевернуть их задом на перед, так, чтобы в итоге нули опять находились в конце, а текст - в начале. (Microsoft) |
|
|
|
 |
|
|
Вот откопал однажды написанную программу.... как хорошо оказывается перебирать свои закрома На оптимизацию времени помниться не хватило, поэтому вышел натуральный бенчмарк для процессора (загружает его на все 100%). На картинки - скрин с программе, а в архиве она сама. Смотрим. 3605235_project1.rar [161.4 Kb] (cкачиваний: 4) |
|
|
|
 |
|
|
С созданием локальной сети открываются новые возможности общения сидя за компьютером. Несколько человек с помощью программы чата могут обмениваться сообщениями по сети. Исходный код такого приложения прилагается ниже. Приложение построено на основе диалогового окна. Класс сокетов CSock произведен от класса асинхронных сокетов CAsyncSocket. CAsyncSocket - оболочка в виде класса содержащего внутри работу с Windows Sockets API (инкапсуляция). Применение в качестве родительского класса CAsyncSocket значительно упрощает создание и использование сокетов. Для доступа непосредственно к самому сокету в классе имеется открытая переменная SOCKET m_hSocket. Поскольку сообщения могут содержать информацию любого вида (строки символов, числа, двоичные файлы) возникает необходимость создания классификации сообщений внутри приложения. Различать типы сообщений нам поможет переменная перечислений и удобная структура для передачи по сети, содержащая в себе необходимые переменные. Разветвление обработки получаемых сообщений удобно производить с помощью оператора swicth. chatcpp.rar [142.96 Kb] (cкачиваний: 37) |
|
|
|
 |
|
|
Проверить число введенное пользователем на предмет является ли данное число простым. simplenumber.rar [49.23 Kb] (cкачиваний: 13) |
|
|
|
|