Broadcom 4312 in Arch Linux
Hi all.
Finally, I’ve configured my Broadcom 4312 Wireless card in Arch Linux and can write something about this now.
First, you should determine the name of your card. Try to do
lspci | grep Broadcom
to see, what you have. You should see something like
04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
if you have Broadcom4312.
Also see what kernel do you have:
uname -r
All described below should work for 2.6.39-ARCH.
Also, I assume that you have internet already (or at least have access to the internet from other computer).
Go to this link http://www.broadcom.com/docs/linux_sta/README.txt and follow that instruction.
You should download source code of the driver, apply a patch and then compile it.
(should I write more detailed information here?)
After this, you will have file ‘wl.ko’.
Then unload from kernel some modules:
rmmod b43 rmmod ssb rmmod wl
and load others:
modprobe lib80211 insmod wl.ko
then see, what is the name of the interface for you wireless card:
ifconfig -a
and up that interface:
ifconfig eth1 up
After this configure your connection.
Probably you should read about WPA_supplicant.
In my case, I’ve edited file /etc/wpa_supplicant.conf and run
wpa_supplicant -B -Dwext -i eth1 -c /etc/wpa_supplicant.conf
then you probably should do (if you have dhcp)
dhcpcd eth1
and you have internet, finally.
Из стенфордской лекции
//подсмотрено из стенфордской лекции
#include <stdio.h>
int main(){
int arr[4];
int i;
for (i=0; i<=4; i++){
printf("%i\n", i);
arr[i]-=4;
}
return 0;
}
Вопрос: что выведет программа?
Указатель на константу?
Я уже говорил об этом в прошлом посте, а теперь более конкретно.
Допустим, есть такой код:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
const int i = 7;
const int *cpi = &i;
int *pi = (int*)(void*)cpi;
printf(" &i = %x\t i = %i\n",&i,i);
printf(" cpi = %x\t *cpi = %i\n",cpi,*cpi);
printf(" pi = %x\t *pi = %i\n",pi,*pi);
*pi = 3;
printf("\n\n\n");
printf(" &i = %x\t i = %i\n",&i,i);
printf(" cpi = %x\t *cpi = %i\n",cpi,*cpi);
printf(" pi = %x\t *pi = %i\n",pi,*pi);
return 0;
}
Если этот код скомпилировать и выполнить, то вывод будет следующим:
&i = 22ff44 i = 7 cpi = 22ff44 *cpi = 7 pi = 22ff44 *pi = 7 &i = 22ff44 i = 7 cpi = 22ff44 *cpi = 3 pi = 22ff44 *pi = 3 Process returned 0 (0x0) execution time : 0.016 s Press any key to continue.
Коротко о переменных:
i – просто целочисленная переменная,
cpi – указатель на целочисленную константу,
pi – указатель на целочисленную переменную.
Судя во всему, cpi (указатель на константу) на самом деле указывает не на константу. Изменение значения по адресу cpi блокируется компилятором на уровне синтаксиса, но во время выполнения значение по этому адресу все-таки можно изменить.
Почему же i и *cpi в итоге разные, если &i и cpi одинаковые – для меня загадка. Свои догадки писать здесь не буду, а то кто-то прочитает и будет думать, что это правда
Избитая тема про музыку вконтакте
Вообще уже настало время, когда хранить музыку на винчестере смысла особого нет.
Но, блин, с инетом проблемы бывают. Поэтому пусть пока лучше будет
Итак, как сохранить свою музыку с сайта вконтакте на свой компьютер?
Если посмотреть код страницы «Аудиозаписи», то можно заметить, что код разбит на div’ы, span’ы и тд, что позволяет легко вычленить ссылки на mp3-шки и получить сведения о песне (название, группа). И сохранить с нормальными названиями, а не просто комбинациями цифр и букв.
Кажется, что все просто, но это не так.
У меня 173 аудиозаписи, это все разбито на 2 страницы (100 штук на первой, остальное на второй).
Когда я перехожу на вторую страницу – в исходнике ничего не меняется. Ничего страшного, конечно, но просто остаются те же 100 песен, что были на 1-й странице.
Хаха, не трудно догадаться, что здесь замешан так горячо любимый мною JavaScript.
В Opera можно легко отключить javascript, после чего переход на вторую страницу позволяет просмотреть ее исходный код и увидеть оставшиеся 73 песни.
Структура кода примерно такая:
... <div class="audioRow" id="audio84309192"> <a name='84309192'></a> <table width="100%"><tbody> <tr><td style="width: 20px; vertical-align:top"> <img class="playimg" onclick="return operate(84309192,'http://cs4707.vkontakte.ru/u12848345/audio/e7bffd8f5682.mp3',281);" id="imgbutton84309192" nosorthandle="true" src="images/play.gif"/> </td> <td style="width: 360px;"><div class="audioTitle"> <b id="performer84309192"><a href='gsearch.php?section=audio&c[q]=Queen'>Queen</a></b><span> - </span><span id="title84309192"><a href='javascript: showLyrics(84309192,4589379);'>I Want It All</a></span> </div> <div class="duration">4:41</div> </td> </tr> </tbody></table> <div style="height:14px;margin-left:28px;"> <div id="line84309192" class="playline"></div> <div id="toddler84309192" class="toddler"> </div> <div id="player84309192" style="display: none;" class="playerClass"> </div> </div> <div id="lyrics84309192"></div> </div> <div class="audioRow" id="audio81408147"> <a name='81408147'></a> <table width="100%"><tbody> <tr><td style="width: 20px; vertical-align:top"> <img class="playimg" onclick="return operate(81408147,'http://cs4718.vkontakte.ru/u59481183/audio/c3ff1145f6ec.mp3',146);" id="imgbutton81408147" nosorthandle="true" src="images/play.gif"/> </td> <td style="width: 360px;"><div class="audioTitle"> <b id="performer81408147"><a href='gsearch.php?section=audio&c[q]=Валерий Горбачев'>Валерий Горбачев</a></b><span> - </span><span id="title81408147">До первого убитого</span> </div> <div class="duration">2:26</div> </td> </tr> </tbody></table> <div style="height:14px;margin-left:28px;"> <div id="line81408147" class="playline"></div> <div id="toddler81408147" class="toddler"> </div> <div id="player81408147" style="display: none;" class="playerClass"> </div> </div> <div id="lyrics81408147"></div> </div> ...
Отличие между этими двумя песнями в том, что для первой есть слова, а для второй – нет.
Таким образом, в Song! может внутрь вставляться гиперссылка и тогда получается
Song!
.
Уже зная это можно написать программу на любом тьюринг-полном.
Я написал скрипт на Ruby. Работать с ним надо так:
- Поместить его в папку, куда должны скачиваться файлы
- Сохранить в эту папку файлы страниц вконтакте с ссылками на аудиофайлы
- Запустить скрипт, ввести имена данных файлов
- Подождать
Вот, что было у меня:
http://cs4405.vkontakte.ru/u1626099/audio/8d77592e3d8a.mp3 : Deep Purple – I've Got Your Number.mp3
http://cs4256.vkontakte.ru/u5759229/audio/8ad1f4c6e24b.mp3 : Deep Purple – Highway Star.mp3
http://cs4378.vkontakte.ru/u5219079/audio/e8ad195111bd.mp3 : Океан Ельзи – Відпусти.mp3
http://cs4717.vkontakte.ru/u3250379/audio/b27b5f0d545c.mp3 : Александр Лаэртский – Дети хоронят коня.mp3
http://cs1548.vkontakte.ru/u220490/audio/45bfdd442c95.mp3 : Blackmore's Night – Self Portrait.mp3
http://cs4647.vkontakte.ru/u41488534/audio/efeeff259433.mp3 : Deep Purple – Walk on.mp3
http://cs4271.vkontakte.ru/u32445879/audio/1bc63f1ce094.mp3 : Metallica – The Day That Never Comes.mp3
http://cs4407.vkontakte.ru/u33970145/audio/f3debf54f611.mp3 : Jamiroquai – Cosmic Girl.mp3
http://cs1043.vkontakte.ru/u559356/audio/aa31212badf6.mp3 : Rainbow – I Surrender.mp3
http://cs4501.vkontakte.ru/u20840245/audio/fff24f2b08ce.mp3 : Rainbow – Ariel.mp3
http://cs4379.vkontakte.ru/u3198411/audio/db4138a8f9b9.mp3 : Red Hot Chili Peppers – Apache Rose Peacock.mp3
http://cs4420.vkontakte.ru/u818490/audio/a68c06013af7.mp3 : Deep Purple – Sail Away.mp3
http://cs4505.vkontakte.ru/u10959059/audio/fc31236a5f67.mp3 : Manowar – Brothers Of Metal Pt1.mp3
http://cs4353.vkontakte.ru/u4190545/audio/9326367e051c.mp3 : Nancy Sinatra – Bang Bang (My Baby Shot Me Down).mp3
http://cs4240.vkontakte.ru/u13842999/audio/75e715ad32c9.mp3 : Тарас Чубай – Червона Рута.mp3
http://cs4266.vkontakte.ru/u7021445/audio/79db1d4706f3.mp3 : Ozzy Osbourne – I Just Want You.mp3
http://cs4258.vkontakte.ru/u41225779/audio/1ae9b7723dfb.mp3 : Manowar – Return Of The Warlord.mp3
http://cs4962.vkontakte.ru/u61224167/audio/00a59d2b5ca7.mp3 : Astrud Gilberto – Maria Quiet.mp3
http://cs4705.vkontakte.ru/u10697445/audio/31e6ef044d5f.mp3 : Guns 'N' Roses – Estranged.mp3
http://cs4511.vkontakte.ru/u39077045/audio/e7fabd2025b1.mp3 : Deep Purple – Burn.mp3
http://cs4587.vkontakte.ru/u63645760/audio/282891e1800b.mp3 : Deep Purple – The Cut Runs Deep.mp3
There are 100 files in list!
Enter name of file to scan or empty line to start downloading…
audio2.html
http://cs1781.vkontakte.ru/u3792595/audio/5e725f8053a1.mp3 : Lee Galloway – Canon in D Major by Pachebel.mp3
http://cs1269.vkontakte.ru/u6429006/audio/7e56db6a4afb.mp3 : Мищуки – Монолог Иуды.mp3
http://cs4244.vkontakte.ru/u19223979/audio/a122f38bd023.mp3 : Dire Straits – Sultans Of Swing.mp3
http://cs4356.vkontakte.ru/u32161345/audio/50ffb1462029.mp3 : Deep Purple – Clearly Quite Absurd.mp3
http://cs4352.vkontakte.ru/u26065479/audio/557ee2f474c4.mp3 : Korn – Right Now.mp3
http://cs1274.vkontakte.ru/u2182341/audio/d54c51bfea6e.mp3 : Blackmore's Night – Greensleeves.mp3
http://cs4107.vkontakte.ru/u2723282/audio/9f0225194bba.mp3 : Ritchie Blackmore's Rainbow – Temple Of The King.mp3
http://cs4110.vkontakte.ru/u1765913/audio/9c029c7b0190.mp3 : Сергей Рахманинов – Прелюдия до-диез минор, соч. 3 №2.mp3
http://cs1043.vkontakte.ru/u559356/audio/aa31212badf6.mp3 : Rainbow – I Surrender.mp3
http://cs1023.vkontakte.ru/u674534/audio/628aee46bb03.mp3 : Deep Purple – Contact Lost.mp3
http://cs4204.vkontakte.ru/u22238046/audio/d40d36d80539.mp3 : Бей Лбом – Красиво.mp3
http://cs1658.vkontakte.ru/u2202862/audio/701754b9e5f0.mp3 : Дж.Гершвин- В.Зинчук – Колыбельная.mp3
http://cs4240.vkontakte.ru/u20389037/audio/453339402a25.mp3 : Deep Purple – Highway Star(2-d guitar solo).mp3
http://cs4238.vkontakte.ru/u27498909/audio/fe1ef1374872.mp3 : Ария – Беги За Солнцем.mp3
http://cs1663.vkontakte.ru/u1060149/audio/0be1fdb52299.mp3 : Helloween – A Tale That Wasnt Right.mp3
http://cs509.vkontakte.ru/u16880020/audio/77035596f976.mp3 : Маврик – Крылья.mp3
http://cs1711.vkontakte.ru/u69796/audio/4223ecbbc0e2.mp3 : The Black Keys – Lies.mp3
http://cs1701.vkontakte.ru/u654787/audio/da9fa1a43a2c.mp3 : Buckethead – Star Wars.mp3
http://cs4705.vkontakte.ru/u10697445/audio/31e6ef044d5f.mp3 : Guns 'N' Roses – Estranged.mp3
http://cs1703.vkontakte.ru/u4535007/audio/631d44af7ee4.mp3 : Gary Moore – Oh Pretty Woman.mp3
http://cs4779.vkontakte.ru/u71866945/audio/423f611a92d3.mp3 : Kaiser Chiefs – Ruby.mp3
http://cs4290.vkontakte.ru/u14106284/audio/37c7b2d3963b.mp3 : Slipknot – Only one.mp3
http://cs4707.vkontakte.ru/u12848345/audio/e7bffd8f5682.mp3 : Queen – I Want It All.mp3
http://cs4355.vkontakte.ru/u25714845/audio/c44b841a6127.mp3 : Slipknot Vs Limp Bizkit – Switch.mp3
http://cs1635.vkontakte.ru/u10248883/audio/8bdface1f3c1.mp3 : Ляпис Трубецкой – Керчь-2.mp3
http://cs4273.vkontakte.ru/u34372994/audio/96aa6e164f8d.mp3 : Владимир Высоцкий – Кони привередливые.mp3
http://cs4113.vkontakte.ru/u10769417/audio/a0d85c84e744.mp3 : Zakk Wylde – Farewell Ballad.mp3
http://cs4271.vkontakte.ru/u9347463/audio/aad83aec08d0.mp3 : Phish – Stash.mp3
http://cs1475.vkontakte.ru/u2411508/audio/cd8969b0ae21.mp3 : jtim – Anybody there.mp3
http://cs512.vkontakte.ru/u16192943/audio/be7ecbc22793.mp3 : Пушной – Серенада2002.mp3
http://cs1750.vkontakte.ru/u19596326/audio/dcde79750737.mp3 : The Doors – Alabama Song (Whisky Bar).mp3
http://cs4377.vkontakte.ru/u15162763/audio/41f991ac4873.mp3 : Yngwie J. Malmsteen – Brothers.mp3
http://cs4256.vkontakte.ru/u29235761/audio/e666fb6fe2ee.mp3 : SOAD – Sugar.mp3
http://cs4245.vkontakte.ru/u15291646/audio/5537faec8bac.mp3 : Брати Гадюкіни – Файне місто Тернопіль.mp3
http://cs1716.vkontakte.ru/u100271/audio/c26fda274149.mp3 : Deep Purple – When A Blind Man Cries.mp3
http://cs1240.vkontakte.ru/u1685108/audio/23b3b352c1d0.mp3 : Миласа – Закатные рыцари.mp3
http://cs4703.vkontakte.ru/u32872823/audio/288e47cfd4d5.mp3 : Чиж & Co – Про дурочка (Гражданская оборона cover).mp3
http://cs1664.vkontakte.ru/u8872136/audio/9f400e30f29a.mp3 : Accept – Amamos la vida.mp3
http://cs1813.vkontakte.ru/u5331301/audio/979d0c31338a.mp3 : Маврик – Все в прошлом.mp3
http://cs4240.vkontakte.ru/u13842999/audio/75e715ad32c9.mp3 : Тарас Чубай – Червона Рута.mp3
http://cs4379.vkontakte.ru/u3198411/audio/db4138a8f9b9.mp3 : Red Hot Chili Peppers – Apache Rose Peacock.mp3
http://cs4777.vkontakte.ru/u2411508/audio/70464ee831dc.mp3 : jtim – Junk inside! [GP5 jam session].mp3
http://cs4512.vkontakte.ru/u50078474/audio/8bfa0f9a40ab.mp3 : Slipknot – Snuff.mp3
http://cs4273.vkontakte.ru/u26833589/audio/5223fe588ccf.mp3 : Yngwie Malmsteen – Crash And Burn.mp3
http://cs4258.vkontakte.ru/u41225779/audio/1ae9b7723dfb.mp3 : Manowar – Return Of The Warlord.mp3
http://cs4257.vkontakte.ru/u1293379/audio/00a298847fba.mp3 : The Doors – People Are Strange.mp3
http://cs4243.vkontakte.ru/u26543106/audio/dc210add0eda.mp3 : Виктор Зинчук – Блюз.mp3
http://cs4247.vkontakte.ru/u8087799/audio/67958712cee6.mp3 : The Beatles – Help.mp3
http://cs4372.vkontakte.ru/u40454699/audio/35286d6b8dae.mp3 : Dropkick Murphys – The Green Fields of France.mp3
http://cs4539.vkontakte.ru/u9869045/audio/8c0f8b1b83d8.mp3 : Metallica – Turn the page.mp3
http://cs1701.vkontakte.ru/u4405415/audio/dba5085ca209.mp3 : Slipknot – Danger – Keep Away.mp3
http://cs4429.vkontakte.ru/u36796140/audio/a9f9b17b09d9.mp3 : Slipknot – The Virus Of Life.mp3
http://cs4101.vkontakte.ru/u26179904/audio/e6ad8886f859.mp3 : Bach – Partita #1 for Violin solo in B minor BWV1002 Bourree.mp3
http://cs4656.vkontakte.ru/u5934760/audio/1b0ca15ca612.mp3 : Vicky Leandros – Tango d'Amor.mp3
http://cs4515.vkontakte.ru/u2411508/audio/f8fd250c16a6.mp3 : Reinhold G. – Impromptu in C sharp minor.mp3
http://cs1699.vkontakte.ru/u21547297/audio/b90c395cf861.mp3 : Guns N' Roses – Knocking on Heavens Door.mp3
http://cs1709.vkontakte.ru/u21030320/audio/efbae480dbf2.mp3 : Slipknot – People = Shit.mp3
http://cs4372.vkontakte.ru/u39529579/audio/42babc063aa7.mp3 : Океан Ельзи – Поясни.mp3
http://cs4272.vkontakte.ru/u31701279/audio/49b773a80375.mp3 : Metallica – No Leaf Clover.mp3
http://cs1635.vkontakte.ru/u19382776/audio/db9a6db62642.mp3 : Deep Purple – Soldier of Fortune.mp3
http://cs4236.vkontakte.ru/u37839517/audio/33727158a5c8.mp3 : Плач Єремії – Я Піду В Далекі Гори.mp3
http://cs1552.vkontakte.ru/u911507/audio/5166a8bfdd4c.mp3 : Chopin – Prelude in C minor.mp3
http://cs1476.vkontakte.ru/u2945680/audio/887bd37d51d6.mp3 : Stuart Smith – Road To Melnibone.mp3
http://cs1707.vkontakte.ru/u492787/audio/4479546c0a6c.mp3 : Slade – Look Wot You Dun.mp3
http://cs4421.vkontakte.ru/u13205639/audio/9a2b30a6e083.mp3 : Фридерик Шопен – Прелюдия до – минор .mp3
http://cs4352.vkontakte.ru/u21009179/audio/b53679f1b521.mp3 : Маврик – Добро.Зло.mp3
http://cs4341.vkontakte.ru/u38632874/audio/a27d3492f8b1.mp3 : Metallica – The God That Failed.mp3
http://cs4511.vkontakte.ru/u39077045/audio/e7fabd2025b1.mp3 : Deep Purple – Burn.mp3
http://cs4256.vkontakte.ru/u7265949/audio/1c6b1ece57c5.mp3 : Rainbow – Self Portrait.mp3
http://cs4239.vkontakte.ru/u4073784/audio/e0a1130acbea.mp3 : Jimi Hendrix – Little Wing.mp3
http://cs4645.vkontakte.ru/u36205178/audio/aa3f44d62ad4.mp3 : Iron Maiden – The Wicker Man.mp3
http://cs4266.vkontakte.ru/u1478336/audio/d513a6d22ed6.mp3 : Hammerfall – Rising Force.mp3
http://cs4587.vkontakte.ru/u63645760/audio/282891e1800b.mp3 : Deep Purple – The Cut Runs Deep.mp3
http://cs4407.vkontakte.ru/u11004845/audio/faa6663f88ef.mp3 : Dropkick Murphys – I'm Shipping Up To Boston.mp3
http://cs4257.vkontakte.ru/u2061306/audio/4507ca9424af.mp3 : The Cat Empire – Sly.mp3
http://cs4628.vkontakte.ru/u2411508/audio/07dade862484.mp3 : jtim – Раньше – alpha.mp3
http://cs1476.vkontakte.ru/u2945680/audio/1a4cbc70decf.mp3 : Ritchie Blackmore – Anybody There.mp3
http://cs4271.vkontakte.ru/u32445879/audio/1bc63f1ce094.mp3 : Metallica – The Day That Never Comes.mp3
http://cs4266.vkontakte.ru/u25550291/audio/db3e042280c8.mp3 : pSevDo – Ти часто плачеш.mp3
http://cs4761.vkontakte.ru/u26722245/audio/3cf1904005e9.mp3 : Red Hot Chili Peppers – Under The Bridge.mp3
http://cs4239.vkontakte.ru/u7386483/audio/9d1f25f46c8e.mp3 : Deep Purple – Doing It Tonight.mp3
http://cs1751.vkontakte.ru/u5065307/audio/0033af4604a8.mp3 : Династия Посвящённых – Аве Летиция (Анатолий Алешин).mp3
http://cs4718.vkontakte.ru/u59481183/audio/c3ff1145f6ec.mp3 : Валерий Горбачев – До первого убитого.mp3
http://cs4353.vkontakte.ru/u16588051/audio/7ad11ca909ac.mp3 : Yngwie Malmsteen – I'm My Own Enemy.mp3
http://cs4271.vkontakte.ru/u1187269/audio/d7bcef125bc0.mp3 : Johnny Cash – God's Gonna Cut You Down.mp3
http://cs1715.vkontakte.ru/u15601389/audio/7d023c1c66c9.mp3 : Hammerfall – Never,ever.mp3
http://cs4420.vkontakte.ru/u818490/audio/a68c06013af7.mp3 : Deep Purple – Sail Away.mp3
http://cs4501.vkontakte.ru/u20840245/audio/fff24f2b08ce.mp3 : Rainbow – Ariel.mp3
http://cs4405.vkontakte.ru/u1626099/audio/8d77592e3d8a.mp3 : Deep Purple – I've Got Your Number.mp3
http://cs4503.vkontakte.ru/u27241587/audio/c302fda41192.mp3 : Yngwie Malmsteen – Prisoner Of Your Love.mp3
http://cs4107.vkontakte.ru/u16348033/audio/6c4553ecf961.mp3 : Огинский – Полонез соль минор – И.Залуский (фортепиано).mp3
http://cs5076.vkontakte.ru/u74485745/audio/1cbfca19963a.mp3 : Игорь Тальков – Бывший подъесаул.mp3
http://cs1631.vkontakte.ru/u2411508/audio/bc5563529c10.mp3 : Под водой (СПбГУ) – Это матанализ!.mp3
http://cs1617.vkontakte.ru/u14343226/audio/5e71d1857793.mp3 : Nirvana – Where Did You Sleep Last Night.mp3
http://cs1666.vkontakte.ru/u6155029/audio/ef2350854682.mp3 : Yngwie Malmsteen – Cry No More.mp3
http://cs1698.vkontakte.ru/u2123595/audio/dccaf5cd83c8.mp3 : HammerFall – Always Will Be.mp3
http://cs4647.vkontakte.ru/u41488534/audio/efeeff259433.mp3 : Deep Purple – Walk on.mp3
http://cs1347.vkontakte.ru/u3009638/audio/94ad8a6eef9c.mp3 : Deep Purple – You Fool No One.mp3
http://cs4264.vkontakte.ru/u34627389/audio/fac2d9d9743b.mp3 : Blackmore's Night – - All For One.mp3
http://cs1635.vkontakte.ru/u3326675/audio/337022d5a0a2.mp3 : Ritchie Blackmore's Rainbow – Catch The Rainbow.mp3
http://cs1711.vkontakte.ru/u13442369/audio/9df8753897af.mp3 : Плач Єремії – Лиш вона.mp3
http://cs4252.vkontakte.ru/u12712394/audio/b93cf59cf47e.mp3 : Slipknot – Gently.mp3
http://cs4245.vkontakte.ru/u4732379/audio/ca731b8b1d24.mp3 : Mozart (L'opera rock) – Le Bien Qui Fait Mal.mp3
http://cs4242.vkontakte.ru/u8591179/audio/47de1036c0e1.mp3 : The Beatles – Girl.mp3
http://cs4245.vkontakte.ru/u17041584/audio/7a5339e190d4.mp3 : Nautilus Pompilius – Князь Тишины.mp3
http://cs4209.vkontakte.ru/u460737/audio/9d149936c27c.mp3 : Artie Shaw – Softly, As In A Morning Sunrise.mp3
http://cs1702.vkontakte.ru/u8050768/audio/0918def7963f.mp3 : Mob rules – Hold on.mp3
http://cs4962.vkontakte.ru/u61224167/audio/00a59d2b5ca7.mp3 : Astrud Gilberto – Maria Quiet.mp3
http://cs5066.vkontakte.ru/u2379967/audio/b31dffa94960.mp3 : Rainbow – A Light In The Black.mp3
http://cs4433.vkontakte.ru/u9297745/audio/5a1101e148d9.mp3 : БИ-2 – Серебро.mp3
http://cs1700.vkontakte.ru/u4387558/audio/059c61d6ee9e.mp3 : Jimi Hendrix – All Along the Watch Tower.mp3
http://cs4593.vkontakte.ru/u44283868/audio/28b0c8ebd394.mp3 : The Beatles – A Hard Days Night.mp3
http://cs4264.vkontakte.ru/u1802119/audio/590a9cdb724c.mp3 : Lynyrd Skynyrd – Freebird.mp3
http://cs4104.vkontakte.ru/u16877471/audio/1f9b8c27267e.mp3 : Виктор Зинчук – Не возвратить.mp3
http://cs1754.vkontakte.ru/u12937191/audio/4f8596a0fc8d.mp3 : Чиж – Про слонов.mp3
http://cs1554.vkontakte.ru/u5847250/audio/6c966b7af3c4.mp3 : AC/DC – Highway to Hell.mp3
http://cs4353.vkontakte.ru/u4190545/audio/9326367e051c.mp3 : Nancy Sinatra – Bang Bang (My Baby Shot Me Down).mp3
http://cs4505.vkontakte.ru/u10959059/audio/fc31236a5f67.mp3 : Manowar – Brothers Of Metal Pt1.mp3
http://cs4372.vkontakte.ru/u716573/audio/da09c2fd4f39.mp3 : Metallica – Carpe Diem Baby.mp3
http://cs4291.vkontakte.ru/u29922245/audio/e897ed08de38.mp3 : Кипелов – Наважденье.mp3
http://cs4646.vkontakte.ru/u6819673/audio/fee8b700b46a.mp3 : Запрещённые Барабанщики – Миллион долларов США.mp3
http://cs1716.vkontakte.ru/u2302937/audio/635e57d0362c.mp3 : Gamma Ray – Lake Of Tears.mp3
http://cs1698.vkontakte.ru/u22659702/audio/143d79511131.mp3 : Rage Against The Machine – Killing In The Name.mp3
http://cs1711.vkontakte.ru/u17664261/audio/72a17f31c7ab.mp3 : Metallica – The Unforgiven III.mp3
http://cs1698.vkontakte.ru/u1491152/audio/612f03355bef.mp3 : Frédéric Chopin – Nocturne No.20 in C sharp minor, Op.posth.P1 No.16 (BI 49).mp3
http://cs1812.vkontakte.ru/u5308633/audio/0d1537b1134d.mp3 : Megadeth – DukeNukem Theme.mp3
http://cs1548.vkontakte.ru/u220490/audio/45bfdd442c95.mp3 : Blackmore's Night – Self Portrait.mp3
http://cs4717.vkontakte.ru/u3250379/audio/b27b5f0d545c.mp3 : Александр Лаэртский – Дети хоронят коня.mp3
http://cs4234.vkontakte.ru/u6837845/audio/4004bc754d1c.mp3 : Ария – Путь Наверх (Смутное время).mp3
http://cs4266.vkontakte.ru/u38187309/audio/0363b674490c.mp3 : The Beatles – Strawberry Fields Forever.mp3
http://cs4355.vkontakte.ru/u18713434/audio/6e618bf17cfe.mp3 : Pink Floyd – Learning To Fly.mp3
http://cs1711.vkontakte.ru/u2411508/audio/3c808be168c7.mp3 : J.S. Bach – Fugue in Dm,BWV 565.mp3
http://cs1704.vkontakte.ru/u6351180/audio/3529c5bcb3a2.mp3 : Deep Purple 1968 – Anthem.mp3
http://cs1623.vkontakte.ru/u4128388/audio/64189298ed31.mp3 : 5'nizza – Ты кидал.mp3
http://cs4250.vkontakte.ru/u5720394/audio/60e66c949926.mp3 : Rainbow – Snowman.mp3
http://cs4267.vkontakte.ru/u4687524/audio/672c4ead2594.mp3 : KoRn – Coming Undone.mp3
http://cs4260.vkontakte.ru/u690608/audio/c8dd3e59d0c2.mp3 : Gamma Ray – Heal Me.mp3
http://cs4636.vkontakte.ru/u50808524/audio/7cdde2824ae4.mp3 : РабФак – Новая Песня О Милиции.mp3
http://cs4407.vkontakte.ru/u33970145/audio/f3debf54f611.mp3 : Jamiroquai – Cosmic Girl.mp3
http://cs1237.vkontakte.ru/u647874/audio/96175ffc5d03.mp3 : Виктор Зинчук – Я Уезжаю….mp3
http://cs4544.vkontakte.ru/u42367145/audio/7c2a94f41255.mp3 : Би-2 – Мой рок-н-ролл.mp3
http://cs4107.vkontakte.ru/u27190946/audio/9a7f582e3ed7.mp3 : Владимир Высоцкий – Мой Гамлет..mp3
http://cs1473.vkontakte.ru/u2024898/audio/24660ec509e8.mp3 : Caterina Caselli – Nessuno Mi Può Giudicare.mp3
http://cs4838.vkontakte.ru/u24280345/audio/da8bbb0fc8f5.mp3 : Охотники за привидениями – охотники за привидениями – Ghostbusters.mp3
http://cs1715.vkontakte.ru/u21603451/audio/cc4438525439.mp3 : Deep Purple – Wasted Sunset.mp3
http://cs1661.vkontakte.ru/u4408197/audio/80803e017af1.mp3 : Чиж – 18 берез.mp3
http://cs4207.vkontakte.ru/u9692676/audio/d82c173a60a0.mp3 : Моторола – 8–й колір.mp3
http://cs4222.vkontakte.ru/u9873559/audio/bbcc353456e0.mp3 : Скрябін – Сам собі країна.mp3
http://cs4234.vkontakte.ru/u11175249/audio/79106a205102.mp3 : Династия Посвящённых – Каждому .mp3
http://cs4260.vkontakte.ru/u6745125/audio/c335abd45655.mp3 : Delinquent Habits – Return Of The Tres.mp3
http://cs1052.vkontakte.ru/u1871576/audio/374eee45ddb1.mp3 : Deep Purple (With London Symphony Orchestra) – Wait A While.mp3
http://cs4102.vkontakte.ru/u21831015/audio/3a32b4b1b38c.mp3 : Rainbow – Maybe Next Time.mp3
http://cs1559.vkontakte.ru/u38877/audio/1047df542ad4.mp3 : Aerosmith – Dream On.mp3
http://cs1755.vkontakte.ru/u1710660/audio/6f440241a7ff.mp3 : Gary Moore – The loner.mp3
http://cs1779.vkontakte.ru/u29296026/audio/90366c0d833d.mp3 : Queen – Bohemian Raphsody.mp3
http://cs4266.vkontakte.ru/u7021445/audio/79db1d4706f3.mp3 : Ozzy Osbourne – I Just Want You.mp3
http://cs4256.vkontakte.ru/u5759229/audio/8ad1f4c6e24b.mp3 : Deep Purple – Highway Star.mp3
http://cs4530.vkontakte.ru/u22702445/audio/c2b2346b1c50.mp3 : Deep Purple – Sometimes I Feel Like Screaming (1996).mp3
http://cs4198.vkontakte.ru/u15408679/audio/db80cdf646df.mp3 : Joan Baez – Diamonds And Rust .mp3
http://cs4271.vkontakte.ru/u10049979/audio/d0f63ca7b8d2.mp3 : pSeVdo – Єдина.mp3
http://cs1619.vkontakte.ru/u3187624/audio/14c08bf993bf.mp3 : Judas Priest – Before the Dawn.mp3
http://cs4217.vkontakte.ru/u14399839/audio/b5da9cb2dbc9.mp3 : Плач Єремії – Колискова.mp3
http://cs1258.vkontakte.ru/u2205951/audio/2565c7864de2.mp3 : Gamma Ray – Eagle.mp3
http://cs1476.vkontakte.ru/u2945680/audio/955252b64397.mp3 : Cristitia – Memory's Garden.mp3
http://cs4492.vkontakte.ru/u30069072/audio/c3828ddd76bd.mp3 : В. Зинчук – И.-С. Бах- Прелюдия До- минор.mp3
http://cs4239.vkontakte.ru/u15763094/audio/c9d1abff5375.mp3 : Океан Ельзи – Голос твій.mp3
http://cs1712.vkontakte.ru/u2529833/audio/6b52c8491341.mp3 : Vivaldi – Concerto per violino e archi-.mp3
http://cs1711.vkontakte.ru/u10946720/audio/e4013d163a0f.mp3 : Gary Moore – The Prophet.mp3
http://cs1043.vkontakte.ru/u559356/audio/4038306ddd77.mp3 : Deep Purple – Bananas.mp3
http://cs4247.vkontakte.ru/u26562314/audio/874c2596acc1.mp3 : FireFry & JTim – GuitarPro Jamm Session.mp3
http://cs1699.vkontakte.ru/u13912348/audio/9aaa20e0d445.mp3 : Маврик – Одиночество.mp3
http://cs4378.vkontakte.ru/u5219079/audio/e8ad195111bd.mp3 : Океан Ельзи – Відпусти.mp3
http://cs4770.vkontakte.ru/u44229250/audio/8b2692d7e51b.mp3 : Metallica – Astronomy.mp3
There are 173 files in list!
Enter name of file to scan or empty line to start downloading…
downloading [Lee Galloway - Canon in D Major by Pachebel.mp3]: 1 / 173 : ERROR!
downloading [Мищуки - Монолог Иуды.mp3]: 2 / 173 : OK
downloading [Dire Straits - Sultans Of Swing.mp3]: 3 / 173 : OK
downloading [Deep Purple - Clearly Quite Absurd.mp3]: 4 / 173 : OK
downloading [Korn - Right Now.mp3]: 5 / 173 : OK
downloading [Blackmore's Night - Greensleeves.mp3]: 6 / 173 : OK
downloading [Ritchie Blackmore's Rainbow - Temple Of The King.mp3]: 7 / 173 : OK
downloading [Сергей Рахманинов - Прелюдия до-диез минор, соч. 3 №2.mp3]: 8 / 173 : OK
downloading [Rainbow - I Surrender.mp3]: 9 / 173 : OK
downloading [Deep Purple - Contact Lost.mp3]: 10 / 173 : OK
downloading [Бей Лбом - Красиво.mp3]: 11 / 173 : OK
downloading [Дж.Гершвин- В.Зинчук - Колыбельная.mp3]: 12 / 173 : OK
downloading [Deep Purple - Highway Star(2-d guitar solo).mp3]: 13 / 173 : OK
downloading [Ария - Беги За Солнцем.mp3]: 14 / 173 : OK
downloading [Helloween - A Tale That Wasnt Right.mp3]: 15 / 173 : OK
downloading [Маврик - Крылья.mp3]: 16 / 173 : OK
downloading [The Black Keys - Lies.mp3]: 17 / 173 : OK
downloading [Buckethead - Star Wars.mp3]: 18 / 173 : OK
downloading [Guns 'N' Roses - Estranged.mp3]: 19 / 173 : OK
downloading [Gary Moore - Oh Pretty Woman.mp3]: 20 / 173 : OK
downloading [Kaiser Chiefs - Ruby.mp3]: 21 / 173 : OK
downloading [Slipknot - Only one.mp3]: 22 / 173 : OK
downloading [Queen - I Want It All.mp3]: 23 / 173 : OK
downloading [Slipknot Vs Limp Bizkit - Switch.mp3]: 24 / 173 : OK
downloading [Ляпис Трубецкой - Керчь-2.mp3]: 25 / 173 : OK
downloading [Владимир Высоцкий - Кони привередливые.mp3]: 26 / 173 : OK
downloading [Zakk Wylde - Farewell Ballad.mp3]: 27 / 173 : OK
downloading [Phish - Stash.mp3]: 28 / 173 : OK
downloading [jtim - Anybody there.mp3]: 29 / 173 : OK
downloading [Пушной - Серенада2002.mp3]: 30 / 173 : OK
downloading [The Doors - Alabama Song (Whisky Bar).mp3]: 31 / 173 : OK
downloading [Yngwie J. Malmsteen - Brothers.mp3]: 32 / 173 : OK
downloading [SOAD - Sugar.mp3]: 33 / 173 : OK
downloading [Брати Гадюкіни - Файне місто Тернопіль.mp3]: 34 / 173 : OK
downloading [Deep Purple - When A Blind Man Cries.mp3]: 35 / 173 : OK
downloading [Миласа - Закатные рыцари.mp3]: 36 / 173 : OK
downloading [Чиж & Co - Про дурочка (Гражданская оборона cover).mp3]: 37 / 173 : OK
downloading [Accept - Amamos la vida.mp3]: 38 / 173 : OK
downloading [Маврик - Все в прошлом.mp3]: 39 / 173 : OK
downloading [Тарас Чубай - Червона Рута.mp3]: 40 / 173 : OK
downloading [Red Hot Chili Peppers - Apache Rose Peacock.mp3]: 41 / 173 : OK
downloading [jtim - Junk inside! [GP5 jam session].mp3]: 42 / 173 : OK
downloading [Slipknot - Snuff.mp3]: 43 / 173 : OK
downloading [Yngwie Malmsteen - Crash And Burn.mp3]: 44 / 173 : OK
downloading [Manowar - Return Of The Warlord.mp3]: 45 / 173 : OK
downloading [The Doors - People Are Strange.mp3]: 46 / 173 : OK
downloading [Виктор Зинчук - Блюз.mp3]: 47 / 173 : OK
downloading [The Beatles - Help.mp3]: 48 / 173 : OK
downloading [Dropkick Murphys - The Green Fields of France.mp3]: 49 / 173 : OK
downloading [Metallica - Turn the page.mp3]: 50 / 173 : OK
downloading [Slipknot - Danger - Keep Away.mp3]: 51 / 173 : OK
downloading [Slipknot - The Virus Of Life.mp3]: 52 / 173 : OK
downloading [Bach - Partita #1 for Violin solo in B minor BWV1002 Bourree.mp3]: 53 / 173 : OK
downloading [Vicky Leandros - Tango d'Amor.mp3]: 54 / 173 : OK
downloading [Reinhold G. - Impromptu in C sharp minor.mp3]: 55 / 173 : OK
downloading [Guns N' Roses - Knocking on Heavens Door.mp3]: 56 / 173 : OK
downloading [Slipknot - People = Shit.mp3]: 57 / 173 : OK
downloading [Океан Ельзи - Поясни.mp3]: 58 / 173 : OK
downloading [Metallica - No Leaf Clover.mp3]: 59 / 173 : OK
downloading [Deep Purple - Soldier of Fortune.mp3]: 60 / 173 : OK
downloading [Плач Єремії - Я Піду В Далекі Гори.mp3]: 61 / 173 : OK
downloading [Chopin - Prelude in C minor.mp3]: 62 / 173 : OK
downloading [Stuart Smith - Road To Melnibone.mp3]: 63 / 173 : OK
downloading [Slade - Look Wot You Dun.mp3]: 64 / 173 : OK
downloading [Фридерик Шопен - Прелюдия до - минор .mp3]: 65 / 173 : OK
downloading [Маврик - Добро.Зло.mp3]: 66 / 173 : OK
downloading [Metallica - The God That Failed.mp3]: 67 / 173 : OK
downloading [Deep Purple - Burn.mp3]: 68 / 173 : OK
downloading [Rainbow - Self Portrait.mp3]: 69 / 173 : OK
downloading [Jimi Hendrix - Little Wing.mp3]: 70 / 173 : OK
downloading [Iron Maiden - The Wicker Man.mp3]: 71 / 173 : OK
downloading [Hammerfall - Rising Force.mp3]: 72 / 173 : OK
downloading [Deep Purple - The Cut Runs Deep.mp3]: 73 / 173 : OK
downloading [Dropkick Murphys - I'm Shipping Up To Boston.mp3]: 74 / 173 : OK
downloading [The Cat Empire - Sly.mp3]: 75 / 173 : OK
downloading [jtim - Раньше - alpha.mp3]: 76 / 173 : OK
downloading [Ritchie Blackmore - Anybody There.mp3]: 77 / 173 : OK
downloading [Metallica - The Day That Never Comes.mp3]: 78 / 173 : OK
downloading [pSevDo - Ти часто плачеш.mp3]: 79 / 173 : OK
downloading [Red Hot Chili Peppers - Under The Bridge.mp3]: 80 / 173 : OK
downloading [Deep Purple - Doing It Tonight.mp3]: 81 / 173 : OK
downloading [Династия Посвящённых - Аве Летиция (Анатолий Алешин).mp3]: 82 / 173 : OK
downloading [Валерий Горбачев - До первого убитого.mp3]: 83 / 173 : OK
downloading [Yngwie Malmsteen - I'm My Own Enemy.mp3]: 84 / 173 : OK
downloading [Johnny Cash - God's Gonna Cut You Down.mp3]: 85 / 173 : OK
downloading [Hammerfall - Never,ever.mp3]: 86 / 173 : OK
downloading [Deep Purple - Sail Away.mp3]: 87 / 173 : OK
downloading [Rainbow - Ariel.mp3]: 88 / 173 : OK
downloading [Deep Purple - I've Got Your Number.mp3]: 89 / 173 : OK
downloading [Yngwie Malmsteen - Prisoner Of Your Love.mp3]: 90 / 173 : OK
downloading [Огинский - Полонез соль минор - И.Залуский (фортепиано).mp3]: 91 / 173 : OK
downloading [Игорь Тальков - Бывший подъесаул.mp3]: 92 / 173 : OK
downloading [Под водой (СПбГУ) - Это матанализ!.mp3]: 93 / 173 : OK
downloading [Nirvana - Where Did You Sleep Last Night.mp3]: 94 / 173 : OK
downloading [Yngwie Malmsteen - Cry No More.mp3]: 95 / 173 : OK
downloading [HammerFall - Always Will Be.mp3]: 96 / 173 : OK
downloading [Deep Purple - Walk on.mp3]: 97 / 173 : OK
downloading [Deep Purple - You Fool No One.mp3]: 98 / 173 : OK
downloading [Blackmore's Night - - All For One.mp3]: 99 / 173 : OK
downloading [Ritchie Blackmore's Rainbow - Catch The Rainbow.mp3]: 100 / 173 : OK
downloading [Плач Єремії - Лиш вона.mp3]: 101 / 173 : OK
downloading [Slipknot - Gently.mp3]: 102 / 173 : OK
downloading [Mozart (L'opera rock) - Le Bien Qui Fait Mal.mp3]: 103 / 173 : OK
downloading [The Beatles - Girl.mp3]: 104 / 173 : OK
downloading [Nautilus Pompilius - Князь Тишины.mp3]: 105 / 173 : OK
downloading [Artie Shaw - Softly, As In A Morning Sunrise.mp3]: 106 / 173 : OK
downloading [Mob rules - Hold on.mp3]: 107 / 173 : OK
downloading [Astrud Gilberto - Maria Quiet.mp3]: 108 / 173 : OK
downloading [Rainbow - A Light In The Black.mp3]: 109 / 173 : OK
downloading [БИ-2 - Серебро.mp3]: 110 / 173 : OK
downloading [Jimi Hendrix - All Along the Watch Tower.mp3]: 111 / 173 : OK
downloading [The Beatles - A Hard Days Night.mp3]: 112 / 173 : OK
downloading [Lynyrd Skynyrd - Freebird.mp3]: 113 / 173 : OK
downloading [Виктор Зинчук - Не возвратить.mp3]: 114 / 173 : OK
downloading [Чиж - Про слонов.mp3]: 115 / 173 : OK
downloading [AC/DC - Highway to Hell.mp3]: 116 / 173 : ERROR!
downloading [Nancy Sinatra - Bang Bang (My Baby Shot Me Down).mp3]: 117 / 173 : OK
downloading [Manowar - Brothers Of Metal Pt1.mp3]: 118 / 173 : OK
downloading [Metallica - Carpe Diem Baby.mp3]: 119 / 173 : OK
downloading [Кипелов - Наважденье.mp3]: 120 / 173 : OK
downloading [Запрещённые Барабанщики - Миллион долларов США.mp3]: 121 / 173 : OK
downloading [Gamma Ray - Lake Of Tears.mp3]: 122 / 173 : OK
downloading [Rage Against The Machine - Killing In The Name.mp3]: 123 / 173 : OK
downloading [Metallica - The Unforgiven III.mp3]: 124 / 173 : OK
downloading [Frédéric Chopin - Nocturne No.20 in C sharp minor, Op.posth.P1 No.16 (BI 49).mp3]: 125 / 173 : OK
downloading [Megadeth - DukeNukem Theme.mp3]: 126 / 173 : OK
downloading [Blackmore's Night - Self Portrait.mp3]: 127 / 173 : OK
downloading [Александр Лаэртский - Дети хоронят коня.mp3]: 128 / 173 : OK
downloading [Ария - Путь Наверх (Смутное время).mp3]: 129 / 173 : OK
downloading [The Beatles - Strawberry Fields Forever.mp3]: 130 / 173 : OK
downloading [Pink Floyd - Learning To Fly.mp3]: 131 / 173 : OK
downloading [J.S. Bach - Fugue in Dm,BWV 565.mp3]: 132 / 173 : OK
downloading [Deep Purple 1968 - Anthem.mp3]: 133 / 173 : OK
downloading [5'nizza - Ты кидал.mp3]: 134 / 173 : OK
downloading [Rainbow - Snowman.mp3]: 135 / 173 : OK
downloading [KoRn - Coming Undone.mp3]: 136 / 173 : OK
downloading [Gamma Ray - Heal Me.mp3]: 137 / 173 : OK
downloading [РабФак - Новая Песня О Милиции.mp3]: 138 / 173 : OK
downloading [Jamiroquai - Cosmic Girl.mp3]: 139 / 173 : OK
downloading [Виктор Зинчук - Я Уезжаю....mp3]: 140 / 173 : OK
downloading [Би-2 - Мой рок-н-ролл.mp3]: 141 / 173 : OK
downloading [Владимир Высоцкий - Мой Гамлет..mp3]: 142 / 173 : OK
downloading [Caterina Caselli - Nessuno Mi Può Giudicare.mp3]: 143 / 173 : OK
downloading [Охотники за привидениями - охотники за привидениями - Ghostbusters.mp3]: 144 / 173 : OK
downloading [Deep Purple - Wasted Sunset.mp3]: 145 / 173 : OK
downloading [Чиж - 18 берез.mp3]: 146 / 173 : OK
downloading [Моторола - 8–й колір.mp3]: 147 / 173 : OK
downloading [Скрябін - Сам собі країна.mp3]: 148 / 173 : OK
downloading [Династия Посвящённых - Каждому .mp3]: 149 / 173 : OK
downloading [Delinquent Habits - Return Of The Tres.mp3]: 150 / 173 : OK
downloading [Deep Purple (With London Symphony Orchestra) - Wait A While.mp3]: 151 / 173 : OK
downloading [Rainbow - Maybe Next Time.mp3]: 152 / 173 : OK
downloading [Aerosmith - Dream On.mp3]: 153 / 173 : OK
downloading [Gary Moore - The loner.mp3]: 154 / 173 : OK
downloading [Queen - Bohemian Raphsody.mp3]: 155 / 173 : OK
downloading [Ozzy Osbourne - I Just Want You.mp3]: 156 / 173 : OK
downloading [Deep Purple - Highway Star.mp3]: 157 / 173 : OK
downloading [Deep Purple - Sometimes I Feel Like Screaming (1996).mp3]: 158 / 173 : OK
downloading [ Joan Baez - Diamonds And Rust .mp3]: 159 / 173 : OK
downloading [pSeVdo - Єдина.mp3]: 160 / 173 : OK
downloading [Judas Priest - Before the Dawn.mp3]: 161 / 173 : OK
downloading [Плач Єремії - Колискова.mp3]: 162 / 173 : OK
downloading [Gamma Ray - Eagle.mp3]: 163 / 173 : OK
downloading [Cristitia - Memory's Garden.mp3]: 164 / 173 : OK
downloading [В. Зинчук - И.-С. Бах- Прелюдия До- минор.mp3]: 165 / 173 : OK
downloading [Океан Ельзи - Голос твій.mp3]: 166 / 173 : OK
downloading [Vivaldi - Concerto per violino e archi-.mp3]: 167 / 173 : OK
downloading [Gary Moore - The Prophet.mp3]: 168 / 173 : OK
downloading [Deep Purple - Bananas.mp3]: 169 / 173 : OK
downloading [FireFry & JTim - GuitarPro Jamm Session.mp3]: 170 / 173 : OK
downloading [Маврик - Одиночество.mp3]: 171 / 173 : OK
downloading [Океан Ельзи - Відпусти.mp3]: 172 / 173 : OK
downloading [Metallica - Astronomy.mp3]: 173 / 173 : OK
tim@linux-gyu4:~/vk_music>
Можно заметить, что есть несколько песен, скачанных с ошибкой:
причем первая песня была недоступна с сервера (не проигрывалась даже на самом контакте), а вторая судя по всему содержала запрещенный символ в названии.
Думаю, результат можно считать удовлетворительным.
Вот мой скрипт:
#script helps you to download music
#author jtim, 17 august, 2010
#email jtimchenko@gmail.com
require 'rubygems'
require 'hpricot'
require 'iconv'
require 'open-uri'
def download_file(link, filename)
begin
writeOut = open(filename, 'wb')
writeOut.write(open(link).read)
writeOut.close
rescue
return false
end
true
end
utf8 = Iconv.new("utf8", "windows-1251")
links = Hash.new
re_link = Regexp.compile("'(.*)'")
re_song = Regexp.compile("<.*?>")
loop{
puts"Enter name of file to scan or empty line to start downloading..."
input_file_name = gets.chomp
break if input_file_name == ""
begin
(Hpricot(open(input_file_name))/'div.audioRow').each do |nd|
begin
fn = re_link.match((nd/'img')[0]['onclick'])[1]
artist = utf8.iconv((nd/'a')[1].inner_html())
song = utf8.iconv((nd/'span')[1].inner_html()).gsub(re_song,'')
links[fn] = artist + " - " + song+'.mp3'
rescue
puts "Error!"
puts nd.to_html
puts "-----"
end
end
rescue
puts "Error while opening file!"
end
links.each_key{|k|
puts k+" : "+links[k]
}
puts "There are #{links.length} files in list!"
}
all = links.length
num = 1
links.each_key{|k|
print("downloading [#{links[k]}]: #{num} / #{all} : ")
msg=''
if download_file(k, links[k])
msg='OK'
else
msg='ERROR!'
end
puts(msg)
num+=1
}
Что надо отметить:
- Это работает для ruby 1.8. На ruby 1.9 я не проверял
- Используется gem hpricote для парсинга html файла – код библиотеки написан самим Why (автор книги why’s poignant ruby guide)
- Я заюзал регулярки, нифигасе!
Основные минусы:
- Появляются символы типа «Vicky Leandros – Tango d'Amor.mp3″. Конечно же там должен стоять апостроф. Видимо, это возникает при переводе cp1251 в utf8.
- Каждый файл скачивается за раз. Пока он не скачался полностью – ничего не сохранено. Как только файл скачается целиком – он сразу же будет записан на винт. Короче, если интернет часто обрывается, то скрипт становится почти бесполезным.
Основные плюсы:
- Простота в использовании
- Человеческие имена файлов
- Теперь можно будет слушать музыку, не заходя на контакт!
p.s.: в посте есть парочка несмертельных ошибок, но исправлять сейчас уже нет сил. Надо бы поспать)
Processing
Processing – это язык программирования для быстрого создания демонстраций. Ну или что-то типа того.
Он основан на java и может использовать все, что написано на java.
Созданные приложения можно экспортировать в веб-страничку с java-апплетом. Тогда код на Processing переводится на java.
После неудачной попытки сделать что-то красивое и полезное на javascript я решил попробовать processing.
Кончилось это тем, что я сделал небольшой sketch (зарисовка, в processing так называются проекты).
Он посвящен вставке элементов в бинарное дерево поиска.
А вот и видео: Binary search tree insertion demo
Все это заняло около 170 строк кода. По-моему, вполне лаконично.
UPD. Теперь я хочу сделать еще какую-нибудь визуализацию. Например, red-black-tree, AVL-tree. А может быть еще какую-нибудь структуру данных (типа дерева Фенвика, дерева отрезков или системы непересекающихся множеств).. Или даже алгоритм сортировки какой-нибудь.
Меня очень впечатлило это видео со сравнением QuickSort и BubbleSort и мини-соревнованием в конце
: video
Про поиск
Привет.
Что надо делать, если в данном тексте T (text) надо найти строку P (pattern) ?
Варианты:
- Тупой поиск в лоб
- Чуть-чуть более умный поиск (алгоритм Рабина-Карпа), где-то в челюсть
- Поиск на основе конечных автоматов (пусть будет в пупок).
- Модифицированный поиск на основе КА: Алгоритм Кнута-Морриса-Пратта. Да-да, как раз туда.
- Есть еще много-много способов найти что-то в чем-то, например, алгоритм Ахо-Корасик и другие устрашающие комбинации фамилий
Если строка и текст довольно небольшие (пусть до 50 символов) – можно смело использовать первый вариант.
Но лучше даже в такой ситуации применить алгоритм Рабина-Карпа и быть спокойным.
Для более тяжелых случаев понадобится конечный автомат.
Чуть подробнее: мы строим для данного образца конечный автомат.
Состояния обозначаются номерами от 0 до m (длина образца). Если автомат находится в состоянии i, значит на данный момент совпало i символов образца и послендих i символов текста.
Понятное дело, перед поиском надо построить таблицу переходов.
Ну и в конце концов – само совершенство – алгоритм Кнута-Морриса-Пратта.
О нем все так много говорят! Иногда мне даже кажется, что я единственный человек на Земле, который не понял его!
Конечно, я решил исправлять ситуацию. Но, черт возьми, никак не могу врубиться, откуда свалилась эта префикс-функция? Как авторы вдруг догадались ее использовать?
Если вы оказываетесь в подобной ситуации, лучшим выходом будет просто открыть Кормэна, найти, прочитать и понять нужную главу, а потом выполнить упражнения. Если вы не смогли выполнить эти упражнения – значит вы не нашли нужную главу, или не прочитали ее. Ну или не поняли. Но как правило понимание приходит во время решения упражнений.
Есть небольшая деталь. Очень эффективно применять КА или КМП, если есть один шаблон и много текстов. Фактически один раз мы строим таблицу переходов, а потом просто просматриваем тексты за 1 проход и знаем количество вхождений и их «координаты».
Интереснее другое. Что, если образцов много, а текст – один?
Ну, например, решили выяснить – кто же все-таки отец (из этих 30) данного человека? Я правда не знаю, может там и не поиск подстроки…
Все эта каша-малаша возникла у меня в голове, когда я пытался решить эту задачу:
http://codeforces.com/contest/25/problem/E
А потом я решил сделать еще кое-что.
Вот скриншот (не знаю, где есть нормальный хостинг, чтобы выложить это):
Сделал я это на JavaScript. Для вывода графов использовал какой-то глючный минифреймворк dracula, на который даже ссылку давать не хочу.
Я еще давно понял, что мы с JavaScript созданы не друг для друга. Так что спешу перечислить основные минусы JavaScript:
- Это не Ruby и даже не C++
- Какие-то странные приколы с переменными.
var a = 3; b = 2; delete b; // можно, удаляется созданное нами же свойство объекта window delete a; // нельзя, пытаемся удалить переменную
- Пусть есть строка a. Не знаю, почему, но у меня a[i] не ратало. Пришлось делать a.charAt(i)
- Непонятная ситуация с массивами. Например, такой код у меня не работал так, как я ожидал:
var a = [1,2,3]; for (i in a) alert(i);
Надо делать так:
var a = [1,2,3]; for (i in a) alert(a[i]);
По-моему, довольно странно. Я же не объявлял массив как ассоциативный массив !
К этому надо прибавить невозможность нормальной отладки и разные реакции браузеров на один и тот же код. И да, эта конченая библиотека для рисования графов. Она не позволяет изменять или перерисовывать графы. Формируй граф до загрузки страницы – и никак иначе!
Резюме.
javascript – это совершенно отличный от C++ язык, взять хотя бы прототипы и замыкания.
Поиск подстроки в строке – интересная задача, имеющая не менее интересные алгоритмы решения, в том числе Рабина-Карпа, Ахо-Корасик, конечный автомат, КМП и так далее.
Как нарисовать стрелку
Лично у меня такая задача возникала не один раз, поэтому придется посвятить ей целый пост.
Итак, даны координаты начала и конца вектора, надо нарисовать стрелку.
Результат будет вот такой:
А теперь к тому, как собственно рисуется стрелка. Чертеж, сделанный в paint (кликабельно):
Повернем точку B вокруг точки A на alpha и на -alpha. Укоротим полученные векторы так, чтобы их длина составляла M (M <= 1) от длины вектора AB. Тогда получим векторы AC и AD.
Соединим точки A и B, B и C, B и D отрезками – стрелка нарисована.
Теперь как это выглядит конкретно на C++ и SFML:
void RotatePoint(double &x, double &y, double ox, double oy, double alpha)
{
double xn, yn;
xn = ox + (x-ox)*cos(alpha) - (y-oy)*sin(alpha);
yn = oy + (x-ox)*sin(alpha) + (y-oy)*cos(alpha);
x = xn;
y = yn;
}
void DecreaseVector(double x1, double y1, double &x_n1, double &y_n1)
{
double dx = (x_n1 - x1)*0.9;
double dy = (y_n1 - y1)*0.9;
x_n1 = x1 + dx;
y_n1 = y1 + dy;
}
void SFMLVizualizer::DrawArrow(int x1, int y1, int x2, int y2, int icolor)
{
int red, green, blue;
blue = icolor%255;
icolor/=255;
green = icolor%255;
icolor/=255;
red = icolor;
sf::Color color = sf::Color(red, green, blue);
int line_width = 1;
w->Draw(sf::Shape::Line(x1, y1, x2, y2, line_width, color));
double x_n1, y_n1, x_n2, y_n2;
x_n1 = x_n2 = x2;
y_n1 = y_n2 = y2;
RotatePoint(x_n1, y_n1, x1, y1, pi/48);
RotatePoint(x_n2, y_n2, x1, y1, -pi/48);
DecreaseVector(x1, y1, x_n1, y_n1);
DecreaseVector(x1, y1, x_n2, y_n2);
w->Draw(sf::Shape::Line(x_n1, y_n1, x2, y2, line_width, color));
w->Draw(sf::Shape::Line(x_n2, y_n2, x2, y2, line_width, color));
}
Такие стрелочки имеют свойство масштабироваться в зависимости от длины вектора. Выглядит очень симпатично, я даже сам не ожидал такого!
Debug me!
Вы же знаете, что такое Crack me? Ну, я уверен, что все даже игрались когда-то. Как там, берем Crack me #2 (потому что #1 уже одолели), открываем в IDA Pro Disassembler и вперед… Исправляем JNE на JNZ или что-то в таком духе.
А недавно я видел человека, который писал игру «Дурак» на C++ с использованием классов.
И все было бы прекрасно, если бы не один глюк.
Сначала кажется, что глючим мы – когда пишем код. Но потом мы ищем ошибку и не находим ее. Потом ищем еще раз – и опять не находим! Очевдно, что глючим не мы. Глючит компилятор, операционка, клавиатура, все, что угодно – только не мы. Потому что код просмотрен и проверен уже 100 раз!
На этот раз глючила колода. Я не шучу. Не помню деталей, но по-моему колода имела метод
Card Deck::GetCard()
который возвращал из колоды карту.
Удивительно, но после раздачи 6 карт компьютеру и 6 карт человеку в колоде оставалось то 24, то 23 карты. Причем чаще 24.
Отладка происходила довольно тупым способом. Сперва повесили printf()’ы сразу после { и перед }, в которых выводили все, что могло принести какую-то пользу: количество карт в колоде, карты на руках у игроков.
Потом додумались до «инварианта цикла», круто?
Прям в лучших традициях Кормэна! Суть в том, что deck.cards_count() + player1.cards_count() + player2.cards_count() == 36 всегда.
Таким образом повесив if (…) мы дали программе возможность самой определять, произошла ли ошибка.
Потом пришлось все-таки делать обертки из printf()’ов еще для нескольких фукнций. В итоге определилось место ошибки (точно функцию не помню, но смысл такой же) :
bool Card::Exists()
{
return this->num > 0;
}
Ошибка в num > 0 (надо было num >= 0).
По-моему, очень глупая ошибка. Связанная с невнимательностью и нетривиальной задумкой по поводу хранения карт в колоде.
Нет бы сделать List <Card> или Vector <Card>, так нет блин… )))
Но сам процесс отладки лично мне доставил удовольствие и вот, что я подумал.
А вдруг, кто-то, найдя очередную подобную ошибку, не просто исправит ее, а запишет, запомнит и потом на основе ее сделает «Debug me!».
Да и вообще, сделать бы сайт для программистов. Куча мелких программ, в каждой какая-то ошибка, которую надо исправить! Вау.
Идея утопическая, конечно, потому что дай только такому сайту появиться – сразу студенты запостят свои лабы.
Delta-wave (Timus 1302)
А теперь я заберу у вас кайф, потому что если вы продолжите читать дальше, то уже не сможете решить эту задачу сами, потому что я сам расскажу вам, как это сделать. Если что, лучше попробуйте сами, а потом читайте этот пост до конца.
Задача
Кому не нравится английский, там же есть и русская версия (слева сверху «RU»).
А теперь решение.
Для начала, нарисуем граф, в котором вершины будут хранить натуральные числа и между двумя вершинами будет ребро, если в исходной пирамидке эти два числа были разделены 1 ребром треугольника. Более того, расположим этот граф определенным образом на плоскости, так, чтобы каждая вершина имела вполне определенные координаты по x и по y.
Получится что-то вроде такого:

Посоветуйте плиз нормальный графический редактор, а то много сил уходит на рисование в paint.
Для данных двух чисел находим их координаты, или, по-другому, столбец и строку, в которых находится каждое из чисел.
Допустим, vert_moves = | row_m – row_n | – это модуль разности номеров строк этих чисел, а hor_moves = | col_m – col_n | – аналогично для столбцов.
Очевидно, что для попадания из вершины с 1-ым числом в вершину со 2-м числом надо сделать как минимум vert_moves ходов. Но этого может оказаться недостаточно. Например, для чисел 27 и 9 – за 5 ходов мы можем попасть из 27 в 5 и надо еще 4 хода, чтобы попасть из 5 в 9.
Некоторые вертикальные ходы будут совмещаться с горизонтальными (в силу структуры графа), например, ходы из 10 в 11, из 17 в 18, из 21 в 22, из 34 в 33 и так далее.
По количеству вертикальных ходов мы можем определить, сколько из них могут быть одновременно и горизонтальными. Если мы идем из вершины с нечетного ряда и в вершину нечетного ряда, то по пути мы сделаем vert_moves/2 горизонтальных ходов (пока не важно, в каком горизонтальном направлении будет каждый из этих шагов).
Такая же ситуация, если идем из вершины четного ряда в вершину четного ряда.
Если путь из вершины нечетного ряда в вершину четного, то количество горизонтальных шагов будет таким же, как в пути из вершины следующего после нечетного ряда (таким образом, четного) в четный. Например, ищем путь из вершины 6 в вершину 17. 6 находится во 3-м ряду, а 17 – в 8-ом.
Тогда кол-во горизонтальных шагов в этом пути такое же, как и из 2 ряда в 8. А это мы уже умеем считать – (8-2)/2 =3 хода.
И, наконец, если путь из вершины четного ряда в вершину нечетного (скажем, из вершины 11 в вершину 23). Тогда кол-во горизонтальных шагов равно пути из предыдущего нечетного ряда в вершину четного. Для вершин 11 и 23 это значит, что кол-во горизонтальных ходов не изменится, если вместо вершины 11 взять вершину 5, 7 или 9.
Итак, теперь мы знаем количество горизонтальных и вертикальных шагов, которые мы должны сделать и так же количество горизонтальных ходов, которые можем сделать, пока будем делать вертикальные ходы. Пусть это будет may_hor.
Если may_hor<hor_moves, то придется сделать дополнительно hor_moves-may_hor ходов, а ответ будет vert_moves + hor_moves – may_hor.
Теперь о том, как вычислить координаты числа x.
Нетрудно заметить, что если число является полным квадратом, то его координата x – это sqrt(x)-1 (номер столбца), а координата y – это (sqrt(x)+2)/2 (номер строки).
Если число не является полным квадратом, то найдем для него ближайшее большее число, которое является полным квадратом, пусть это будет sq. Если четности числа и sq совпадают, то они находятся в одной строке. Если не совпадают, то строка для числа на 1 меньше, чем строка для sq.
Столбец для числа считается просто – это столбец для sq минус разницу между числом и квадратом.
Т.е. col_number = col_sq – (sq – number).
Вот, в принципе и все. Но есть одно НО. Я получил.. нет, не Wrong Answer и не TLE, а Compilation Error! o_O
У меня, правда, все компилировалось (gnu gcc compiler). Ошибка была связана вот с чем:
long x; double t = (long)sqrt(x);
Компилятор не знал, какую из sqrt выбрать – sqrt(float), sqrt(double) или sqrt(long double).
Ну и напоследок программа, которая получает Accepted:
//file main.cpp, task 1302
#include <iostream>
#include <math.h>
void find_coords(long x, long &x_col, long &x_row)
{
// ищем наименьшее число, большее либо равное x, являющееся полным квадратом
double t = (long)sqrt((double)x);
long sq = t*t;
long sq_less = (t-1)*(t-1);
if (sq < x)
{
t++;
sq = t*t;
sq_less = (t-1)*(t-1);
}
// ищем номер строки, в которой будет находиться x
x_row = (t-1)*2;
if (x%2 != sq%2)
x_row--;
long sq_col = t-1; // столбец, в котором будет находиться sq
x_col = sq_col + x - sq; // столбец, в котором будет находиться x
}
// сколько ходов в сторону можем сделать, добираясь со строки row1 в row2
long may_hor_moves(long row1, long row2)
{
if (row2<row1) return may_hor_moves(row2, row1);
if (row1%2 == row2%2)
return (row2-row1)/2;
if (row1%2==1)
return (row2-row1+1)/2;
return (row2-row1-1)/2;
}
int main()
{
long N, M, col_m, row_m, col_n, row_n;
std::cin >> N >> M;
if (N>M)
{
long t = N;
N = M;
M = t;
}
find_coords(N,col_n,row_n);
find_coords(M,col_m,row_m);
long vert_moves = abs(row_n - row_m);
long hor_moves = abs(col_n - col_m);
long add_moves = may_hor_moves(row_n, row_m);
long ans = vert_moves;
if (hor_moves > add_moves)
ans += (hor_moves - add_moves);
std::cout << ans << std::endl;
return 0;
}
Accepted, время работы 0.015, используемая память 217 КБ.
Машины с натуральнозначными регистрами
Прощай, матлогика, здравствуй, теория алгоритмов! Правда, это те же яйца, только в профиль.
Я еще заранее решил, что перейду в другую подгруппу, потому что там вела няшная девушка. Она, в принципе, мало чего могла объяснить (в основном фразы вроде «Это так, потому что так написано в методичке лектора»), но какая нафик разница – лектора понять в принципе невозможно.
Облом. Вести теперь будет парень.
Зато он объясняет, причем все понятно, простым русским языком, как для дебилов. Я этому очень рад
Итак, машина с натуральнозначными регистрами, она же МНР.
Это гипотетический дивайс, который имеет бесконечное множество регистров (но, тем не менее, счетное), пронумерованных, начиная с 0: 0, 1, 2, …, N, N+1, … , в каждом из которых может храниться любое натуральное число. Также машина умеет выполнять программы, записанные в виде последовательности команд, которые нумеруются с 1.
Перед началом работы мы задаем начальную конфигурацию МНР – значения регистров.
В процессе работы, МНР что-то делает с содержимым регистров. В итоге она либо останавливается (и тогда мы читаем результат в регистре R[0]), либо.. не останавливается о_О.
Вообще, задать по очереди значения всем регистрам проблематично (их бесконечно много). Но для каждой МНР в частности мы используем лишь ограниченное количество регистров (по крайней мере, нам так сказали.Но я в это не верю и могу написать программу для МНР, которая таки будет использовать все регистры. Подошел к преподу и выяснилось, что в командах можно использовать только жестко зафиксированные константы, но об этом ниже.)
Поэтому мы даем на вход МНР числа (R0, R1, R2, …, RM) и считаем, что регистры с номерами >M содержат 0.
Т.к. в итоге мы берем результат из R[0], то МНР задает функцию f: Rm->R. Логично, что если результатом считать не только R[0], но вообще некоторое число регистров R[0], … R[N], то можно говорить о том, что МНР задает функцию f: Rm->Rn.
Если сказать правду, то одна МНР задает бесконечное количество функций fq: Rq->Rn, где q = 1, 2, …, W, W+1, … .
МНР понимает 4 команды:
- Z(i): (zero) обнуляет регистр номер i: R[i]=0
- S(i): (successor) увеличивет содержимое регистра номер i на 1: R[i]++
- T(a,b): (transfer) записывает R[b] в R[a]. Куда при этом исчезает старое значение из R[a] – открытый вопрос.
- J(a,b,c): (jump) если R[a]==R[b], то переходит к команде номер c
При этом нельзя использовать косвенную адресацию, т.е. в команде J можно использовать только константы. Нельзя написать что-то вроде J(0,0,R1), чтобы машина перешла в регистр, адрес которого содержится в R1. Жаль, иначе я все-таки смог бы написать программу, которая перебирает все ячейки
Выполнение программы начинается с команды №1 в списке.
После каждой команды идет переход к следующей, в случае команды J – может произойти прыжок куда-нибудь.
МНР завершает работу, когда пытается выполнить команду, номер которой больше, чем команд в программе.
Если фунция f не опредлена для входного вектора (a0, a1, …, aN), то МНР должна зациклиться с такой начальной конфигурацией.
Некоторые примеры МНР.
Для фунции f(x) = x МНР такая:
1) J(0,0,2)
Для функции f(x) = x+2:
1) S(0); 2) S(0);
Для облегчения тестирования МНР, я написал такой модуль:
// file MNR.cpp
#include "MNR.h"
TCommand commands[M];
int R[N];
int step; // number of current step
int steps_count=0;
void vZ(int a){R[a] = 0; step++;}
void vS(int a){R[a]++; step++;}
void vT(int a, int b){R[a] = R[b]; step++;}
void vJ(int a, int b, int c){if (R[a]==R[b]) step=c; else step++;}
void J(int a, int b, int c)
{
step++;
commands[step].type = tJ;
commands[step].a = a;
commands[step].b = b;
commands[step].c = c;
}
void S(int a){step++;commands[step].type = tS; commands[step].a=a;}
void Z(int a){step++;commands[step].type = tZ; commands[step].a=a;}
void T(int a, int b)
{
step++;
commands[step].type = tT;
commands[step].a = a;
commands[step].b = b;
}
void Run()
{
steps_count = step;
step = 1;
while (step <= steps_count)
switch (commands[step].type)
{
case tS: vS(commands[step].a); break;
case tZ: vZ(commands[step].a); break;
case tJ: vJ(commands[step].a,commands[step].b,commands[step].c); break;
case tT: vT(commands[step].a,commands[step].b); break;
}
}
void Input(int arg_c)
{
int arg, i;
for (i = 0; i<arg_c; i++)
{
printf("Enter arg. no. %d\n", i+1);
scanf("%i",&arg);
R[i] = arg;
}
}
void Output(int arg_c)
{
int i;
for (i=0; i<arg_c; i++)
printf("R[%i] = %i\n", i, R[i]);
}
int bye()
{
char c;
printf("Press [Enter] to exit...\n");
scanf("%c",&c);
return 0;
}
void RUN(int x,int y){Input(x); Run(); Output(y);}
//file MNR.h
#ifndef MNR_H_INCLUDED
#define MNR_H_INCLUDED
#include <stdio.h>
#define START int main(){
#define END return bye();}
//registers count:
const int N = 20;
//commands count:
const int M = 30;
enum command_type {tZ, tS, tT, tJ};
typedef struct
{
command_type type;
int a, b, c;
} TCommand;
void S(int);
void Z(int);
void T(int,int);
void J(int, int, int);
void Input(int arg_c);
void Run();
void Output(int arg_c);
int bye();
void RUN(int,int);
#endif // MNR_H_INCLUDED
Например, если надо написать МНР для функции f(x,y) = x*y, то теперь можно сделать так:
//file main.cpp #include "MNR.h" START J(0,2,9); S(2); J(1,3,7); S(3); S(4); J(0,0,3); Z(3); J(0,0,1); T(0,4); RUN(2,1); END
Теперь для того, чтобы программа для МНР заработала на компьютере, надо подключить модуль MNR.h,
написать строчку START, набрать программу для МНР (теперь команды нумеровать не надо, но надо ставить после каждой » ; «), написать строчку RUN(arg_c_input, arg_c_output) (здесь arg_c_input – это размерность вектора на входе, arg_c_output – на выходе) и потом еще написать строчку END.
Во время выполнения, будет предложено ввести входной вектор, а в конце – будет выведен вектор-результат.


