Покажи Публикации - KeuH
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: [1] 2 3 ... 5
1  Linux секция за начинаещи / Настройка на програми / Как да настроя неавтоматично монтиране на smb дял? -: Jul 25, 2005, 17:29
На Windows 2000 работната си станция (JERUSALEM) имам три дяла, един от които монтирам автоматично чрез следния ред във fstab:
Примерен код

//JERUSALEM/E$        /mnt/jerusalem-storage   smbfs      credentials=/etc/credentials,gid=users,fmask=775 0 0

Другите два дяла, обаче не искам да монтирам автоматично, затова при тях нещата изглеждат така:
Примерен код

//JERUSALEM/C$        /mnt/jerusalem-system   smbfs      noauto,credentials=/etc/credentials 0 0

При опит за монтиране обаче става следното:
Примерен код

ilium:/mnt # mount jerusalem-system/
mount error: Invalid argument
Please refer to the smbmnt(8) manual page
smbmnt failed: 255


Помощ!
2  Програмиране / Общ форум / Как да сортирам по азбучен ред -: Jul 10, 2005, 14:31
Виж сега порових още малко из едни стари книжки и намерих нещо и на български - автор е Преслав Наков, а книгата се нарича "Въведение в алгоритмните" или нещо такова.  За метода на мехурчето, наистина е най-лесен, но ако е до лесното има и други лесни методи - признавам си, бързото сортиране на Хоор (quicksort) е малко объркващо за начинаещ, но наистина те съветвам да научиш някой по-бърз алгоритъм - има ги доста в почти всеки справочник по програмиране, напр. merge-sort е направо елементарен, стига да знаеш, какво е рекурсия.
3  Програмиране / Общ форум / Как да сортирам по азбучен ред -: Jul 09, 2005, 20:53
Ок, явно ще трябва да обясня по-подробно!

Първо.  Сортирането на n е елемента е математичестки, а не програмистки проблем и за него има разбработени томове и томове от литература.  За справка има една монография от Доналд Кнут - "Изкуството на програмирането", но не я препоръчвам на начинаещ като тебе.  Аз съм се учил по много книги, но една добра уводна книга е "Algorithms and Data Structures" от Michael Goodrich и Roberto Tamassia, но нямам представа, дали я има на българския пазар.  Със сигурност, обаче на българския пазар има книга, която ще те въведе в сортирането - питай някой студент по информатика и ще ти препоръча нещо.

Методът на мехурчето, който използваш е най-неподходящия от всички възможни методи, защото при всичи случаи ще направи около n^2 операции - в това число сравнения и премествания.  На математически жаргон се казва, че сложността му е O(n^2).  Погледни в някоя книга за дефиниця, какво значи функция f да принадлежа на клас от сложност O(P(n)), където P(n) е полином по n.  Методът, който аз ти предлагам - quicksort се счита за най-бързия метод, тъй като неговата средна сложност е O (n*log(n)).  Няма значения конкретния програмен език, на който се пише.  По принцип матетическта дефиниция, тази която съм ти дал по-горе е рекурсивна и буквалното й имплементиране би отнело много памет, но с малко въображение може да се напише итеративно и всичко да е тип-топ.  С други думи - забрави за метода на мехурчето по следната причина.  Ако имаш масив с да кажем 1 500 000 човека (телефонният указател на София), за сортирането му по метода на мехурчето ще ти трябват около 2250000000000 операции, ако всяка ти отнеме по една милисекунда (много груба оценка) 2250000000 секунди, което в часове е 62500.  Ако изполваш quicksort и телефонният указател не е разбъркан точно отзад напред, ще ти трябват около 21331463.49910866 операции, или около 5 часа.  Виждаш ли разликата, така че забрави за bubble sort и научи някой по-бърз алгоритъм, било то quick-sort, било то merge-sort, било то heap-sort и т.н.  За справка пак те отправям към въпросната книга.  Но сега да се върнем на quicksort и да ти обясня по-добробно.  Няма да влизам в анализ на сложността на алгоритъма, защото може да се покаже, че при нарочно избрани данни и този алгоритъм е бавен, но както ти казах и по-горе една свястна имплементация е бърза и заема малко памет и в средно-статистическият случай е най-доброто възможно.  И между другото, този алгоритъм го има като стандартна функция в c, така че няма нужда дори да го имплементираш.  За справкa:

$ man 3 qsort

Сега отново към алгоритъма.  Ето една друга страница, където има страхотно обяснение и анимация, как работи quicksort:

http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/qsort.html

След като проумееш матечески алгоритъма идва втората стъпка.   Как да го приложиш на практика.  Тука се набиват на очи три проблема.  Проблем едно: как да избегнеш рекурсията, проблем две, как да избегнеш допълният разход на памет и проблем три как да сравняваш елементите, които имаш да сравняваш.

Ще започна отзад напред.  За сравняване на символни низове в c++ можеш да използваш функцията strcmp.  Ето какво пише в документацията й.  Не мога да го обясня по-добре от това.

int strcmp(const char *s1, const char *s2);
  The  strcmp()  function compares the two strings s1 and s2.  It returns
       an integer less than, equal to, or greater than zero if  s1  is  found,
       respectively, to be less than, to match, or be greater than s2.

За използване на inplace стратегията, т.е. за да избегнеш разхода на допълнителна памет пусни два итератора по масива и им разменяй местата, сравнявайки ги с пивота.  За по-подробна информация:

http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/qsort1a.html

А първият въпрос и той не е сложен, но за да го решим, направо да ти го напиша като програмен код.  За това виж wikipedia-та от първият ми постинг - там има страхотен код.  Ако все пак имаш проблеми обаче, пиши пак, ще видя, дали ще намеря малко време да драсна малко код '<img'>
4  Програмиране / Общ форум / Как да сортирам по азбучен ред -: Jul 09, 2005, 09:17
Има различни алгоритми, но аз направо ще ти дам най-добрия - quicksort.  Ще се опитам да ти го обясня, а после ще ти дам уеб-страница с примерен код, надявам се да ти е от полза.

Идеята е следната: имаме масив m от n елемента.
Викаме qsort(m, (int)(n/2)), където (int)(n/2) е така наречения пивот.
qsort:
Ако pivot = 1, върни m,
иначе ако pivot = 2, сравни m[1] и m[2] и ги размени, ако трябва;
иначе извикай less = qsort(m[1..pivot], pivot/2),
greater = qsort(m[pivot+1..n], (pivot+1+n)/2);
обедини m = less със greater.

За конкретен код виж:

http://en.wikipedia.org/wiki/Quicksort#C.2B.2B

За да сравняваш стрингове от полза може да ти е функцията:

$man 3 strcmp

Тъй като не съм специалист по c++, може в c++ да има друга функция за сравнява на низове.  Тази е от c, но би трябвало да работи и в c++.  Специалистите по c++ да се изкажат!
5  Linux секция за начинаещи / Настройка на програми / Segmentation Fault, Help -: Jun 17, 2005, 12:25
Вчера пуснах една тема за инсталация на Slackware 10.1.  Имах input/output грешки при Glibc, които като че ли не зависеха от носителя и четящото устройство.  kdepetkov ме посъветва да проверя хард дисковете, но аз отговорих, че при първоначалната инсталация съм направил format with bad blocks checking.  Опитах с друга версия на Slackware - unofficial no X от unixsol, и пак даде същата грешка, но по-натам и segmentation fault.  Ето какво пише:

Цитат

(един ред 32-битови шестнадестични числа като 2fffffff ...)
Call Trace: ([<пак същатата работа>]) ... няколко реда

Code: тука са някакви 8-битови числа като 8b 52 34 ...
Segmentation Fault
hda: read_intr: Status=0x59 {DriveReady SeekComplete DataRequest Error}
hda: read_intr: error=0x40 {UncorrectableError}, LBASect=1117576, sector=1117512
end_request: I/O error, dev 03:01 (hda), sector 1117512
hda: irq timeout, status = 0xD0 {Busy}

и т.н.

 


Мисля, че очевидно се касае за грешка в primary master твърдия диск.  Но защо format with bad blocks checking не оправи нещата в началото?
6  Linux секция за начинаещи / Настройка на програми / Glibc, инсталация на Slackware 10. 1 -: Jun 16, 2005, 21:31
glibc е един от най-важните пакети в система!  Това са C библиотеките!  А файловете на unixsol са наред.  Сверих чек-сумите с ftp сървера на университета в Аахен.
7  Linux секция за начинаещи / Настройка на програми / Glibc, инсталация на Slackware 10. 1 -: Jun 16, 2005, 21:29
Проблемът го дава винаги на едно и също мясно -- при glibc, независимо от това, какви packages избирам.  Твърдият диск не съм проверил изрично, но при първоначалната инсталация (setup) съм му дал формат с проверка за лоши сектори (bad block checking).
8  Linux секция за начинаещи / Настройка на програми / Glibc, инсталация на Slackware 10. 1 -: Jun 16, 2005, 21:17
Някой срещал ли е проблем при на инсталацията на glibc при първоначалната инсталация на Slackware 10.1?  Дава нещо приблизително такова:

Цитат


cp: read error
cat: read error



После инсталацията продължава нормално.  CD-та са направени ISO-та, изтегление от unixsol, проверил съм md5 сумите и при записа съм верифицирал md5 сумата с k3b.  Освен това пробвах да сменя самото четящо устройство и да презапиша носителя.
9  Linux секция за начинаещи / Настройка на програми / Как да сменя hostname на моята машина? -: Jan 30, 2005, 22:18
Благодаря на zazzko и saturn_vk за съветите.  Проблемът е решен!
10  Linux секция за начинаещи / Настройка на програми / Как да сменя hostname на моята машина? -: Jan 30, 2005, 11:34
Имам един проблем, който очевидно е елементарен, но ми убягва някакъв малък детайл, за да се справя с него.  Имам машина с две мрежови карти и двете с "виртуални" IP-адреси, едната от които е към "вътрешната" ми домашна мрежа, а другата е вързана посредством DSL (PPPoE) към квартална мрежа.  Естествено кварталната мрежа не ми дава hostname, но аз все пак искам да си нарека компютъра по някакъв начин.  Всъщност той има вече hostname, защото преди го използвах в една мрежа с фиксирано IP.  А сега искам да го променя.  Опитах с командата hostname, но след употребата й отварянето на която и да е програма ужасно се забавя.  Предполагам, че се получава някакъв проблем с resolv-ането, защото има несъответствие с /etc/hosts.  Когато обаче го редактирах него и рестартирах машината се получи долу-горе същия проблем, само дето конзола въобще не се отваря.  Ползвам SUSE 9.1 и естествено опитах и с yast, но когато се опитах да променя hostname на която и да е от мрежовите карти през yast ми дава съобщение от сорта "Please, enter valid domain name!"  Естествено аз нямам никакъв domain, просто искам да си нарека компютъра по някакъв начин с една думичка.  Ако някой може да ми помогне или да ме насочи към някаква друга настройка освен /etc/hosts и hostname ще съм много благодарен!
11  Хумор, сатира и забава / Хумор / Какви хакери има в БГ да им се ненадяваш -: Sep 15, 2004, 14:41
Айде сега!!!

Нали самият Р.М.С. е разбил навремето системата с пароли в MIT и е пращал до всички съобщението:

"I see you entered for <...> for your password.  I suggest you do as me, and just hit return!"
12  Linux секция за начинаещи / Настройка на програми / reconnect after disconnect -: Aug 30, 2004, 16:52
Здравейте.  Използвам СуСЕ 9.0.  Имам настроен интерфейс dsl0, с който влизам в Интернет.  По някога се случва интерфейса да прекъсне, тогава правя ifup dsl0 и връзката се възстановява.  (Всъщност ifconfig показва, че е сключена връзка ppp0).  Въпросът ми е, има ли начин да го конфигурирам автоматично да се опитва да възстанови връзката, в случай, че тя прекъсне?
13  Нетехнически теми / Идеи и мнения / Най-добрият клиент за електронна поща -: Aug 28, 2004, 14:40
Точно поради тук пуснах анкетата.  Защото в тук има хора, които твърдят, че Еволюшън е по-добър от Кмейл.  Исках да разбера, дали наистина много хора мислят така или само някои "заблудени" '<img'> '<img'> '<img'> '<img'> '<img'>  А иначе съгласен съм, че не съм листнал всички мейлъри и моля да ме извините -- за тези, които ползват някой друг мейлър съм предвидил опцията други...
14  Програмиране / Web development / javascript & mozilla -: Aug 28, 2004, 13:50
ама само понякога, защото konqueror е Но:1 '<img'> '<img'>
15  Програмиране / Web development / javascript & mozilla -: Aug 28, 2004, 13:46
В крайна сметка направих менюто с innerHTML, защото document.open() изтрива всички променливи под Мозила!!!  За съжаление innerHTML е супер бавно!  По-някога наистина се замислям, дали ИЕ не е най-добрия браузър... '<img'>
Страници: [1] 2 3 ... 5