Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Вниз

Галерея красивого кода   Найти похожие ветки 

 
Igorek ©   (2004-05-18 17:34) [0]

Кидайте кто что красивого видел.

Вот я сегодня такое написал (мне понравилось):
     if not Left then
       if not Top then
         if not Right then
           if not Bottom then
             if not Back then
               if not Straight then
     Error("Помилка при визначенні напрямку руху");


 
Игорь Шевченко ©   (2004-05-18 17:38) [1]


>    if not Left then
>        if not Top then
>          if not Right then
>            if not Bottom then
>              if not Back then
>                if not Straight then


if not (Left or Top or Right or Bottom or Back or Straight) then

?


 
ZrenBy   (2004-05-18 17:42) [2]

Проскальзывало тут когда-то

n[i]=(Z-=(n[i++]=(Z-=(n[i++]=(Z-=(n[i++]=(Z-=(n[i++]=(Z-=(n[i++]=Z/I)*I)/J)*J)/K)*K)/L)*L)/O)*O)


 
Просто Вася   (2004-05-18 17:45) [3]

Красиво и серьезно,но не работает, правда это не delphi
create proc sp_free_file_space @file_name varchar(255)=null,
@file_spec varchar(255)=null,@freespace_limit int =1024
as
--*
--Процедура для оценки свободного пространства в заданном файле (Кбайт)
--*

declare @fs int,@file int
declare @freespace int,@size int
declare @hr int
declare @src varchar(255),@desc varchar(255)
declare @char_freespace varchar(20),@char_freespace_limit varchar(20)

select @fs=null,
@file=null

exec @hr=sp_OACreate "Scripting.FileSystemObject",@fs out

if @hr<>0
begin
exec sp_OAGetErrorInfo @fs,@src out,@desc out
select hr=convert(varbinary(4),@hr),Source=@src,Description=@desc
goto destroy_objects
end

exec @hr=sp_OAmethod @fs,"GetFile",@file out,@file_spec

if @hr<>0
begin
exec sp_OAGetErrorInfo @fs,@src out,@desc out
select hr=convert(varbinary(4),@hr),Source=@src,Description=@desc
goto destroy_objects
end

exec @hr=sp_OAGetProperty @file,"Size",@size out

if @hr<>0
begin
exec sp_OAGetErrorInfo @fs,@src out,@desc out
select hr=convert(varbinary(4),@hr),Source=@src,Description=@desc
goto destroy_objects
end

set  @freespace=@size/1024-(select fileproperty(@file_name,"SpaceUsed")*8)
set @char_freespace=cast(@freespace as varchar(20))
set @char_freespace_limit=cast(@freespace_limit as varchar(20))

if (@freespace<@freespace_limit)
raiserror(60002,10,1,@file_spec,@char_freespace,@char_freespace_limit)
with log
destroy_objects:
if @file is not null
begin
exec @hr=sp_OAGetErrorInfo @file,@src out,@desc out
select hr=convert(varbinary(4),@hr),Source=@src,Description=@desc
end

if @fs is not null
begin
exec @hr=sp_OADestroy @fs

if @hr<>0
begin
exec sp_OAGetErrorInfo @fs,@src out,@desc out
select hr=convert(varbinary(4),@hr),Source=@src,Description=@desc
end
end
return(0)
go


 
Ega23 ©   (2004-05-18 17:49) [4]

Игорь Шевченко ©   (18.05.04 17:38) [1]
Может AND, а не OR?


 
Соловьев ©   (2004-05-18 17:54) [5]


> 4] Ega23 ©   (18.05.04 17:49)

not or = and


 
Ega23 ©   (2004-05-18 17:56) [6]

Соловьев ©   (18.05.04 17:54) [5]
Точно... not я впереди как-то не заметил... сорри за "наезд"


 
Aldor ©   (2004-05-18 21:34) [7]

Из красивого: функция возвращает количество бит в двоичной записи числа


int BitCount(int num)
{
 for (int count = 0; num; count++)
   num &= num - 1  
}


 
nikkie ©   (2004-05-18 21:46) [8]

>Aldor
а может, проще сразу num = 0? и точку с запятой поставить. и return какой-нибудь.


 
Игорь Шевченко ©   (2004-05-18 21:52) [9]

Ega23 ©   (18.05.04 17:49)

Вообще-то теорема Де Моргана...


 
nikkie ©   (2004-05-18 22:07) [10]

>[7] Aldor
сообразил... нужен
return count;
да, красиво. но медленно... :))
а можно быстро, но очень некрасиво :))


 
Aldor ©   (2004-05-18 22:28) [11]

Aldor ©   (18.05.04 21:34) [7]
В описании ошибка:
Из красивого: функция возвращает количество единиц в двоичной записи числа

nikkie ©
да, return count забыл.

Если честно, до сих пор руки не доходят разобрать почему результом является количество бит - это ж надо до такого додуматься.

> а можно быстро, но очень некрасиво :))

 ??! В этой реализации количество операций равно числу единиц в битовом предствлении - куда уж быстрее?


 
Gero ©   (2004-05-18 22:33) [12]


> да, красиво. но медленно... :))

Красота требует жертв :)


 
nikkie ©   (2004-05-18 22:41) [13]

??! В этой реализации количество операций равно числу единиц в битовом предствлении - куда уж быстрее?
гы... :)
добро пожаловать в ветку "Как можно в байте биты поменять местами?"
http://delphimaster.net/view/1-1084882106/


 
nikkie ©   (2004-05-18 22:53) [14]

Если честно, до сих пор руки не доходят разобрать почему результом является количество бит
на самом деле просто все... если у num последний двоичный разряд 1, то
num &= num - 1;
его обнуляет. если num в двоичном виде выглядит как ...10000, то num - 1 будет ...01111. и опять
num &= num - 1;
обнуляет последний значащий бит.


 
Sergey Masloff   (2004-05-18 22:57) [15]

nikkie ©   (18.05.04 22:41) [13]
>добро пожаловать в ветку "Как можно в байте биты поменять >местами?"
Добро пожаловать в книгу Hacker"s Delight by Henry Warren. И байты местами менять и количество единичных и еще пара тысяч подобных алгоритмов. Слово хакер тут в первоначальном смысле а не из области малолетних придурков которых сейчас так почему-то называть стали. Я слышал ее сейчас на русский перевели


 
Aldor ©   (2004-05-19 06:08) [16]

nikkie ©   (18.05.04 22:41) [13]
> http://delphimaster.net/view/1-1084882106/ [14] ?
   :)))))))


 
Dmitriy O. ©   (2004-05-19 09:11) [17]

А вот мой красивый код.

procedure TMyform.AzakExecute(Sender: TObject);
begin

tstrelka.First;
tstrelkan.Value;
while not tstrelka.Eof do begin // найдем пересечения
if (tstrelkay1.Value>=list1.Top-idiag1.Top)and (tstrelkay5.Value<=list1.Top-idiag1.Top)
and (tstrelkavid.Value=7)  // ест пер на кор стр
then begin
idiag1.Canvas.TextOut(tstrelkax4.Value-trunc(idiag1.Canvas.TextWidth(tstrelkaobiect.Value+inttostr(tstrelkan.Value))/2) ,list1.Top-idiag1.Top-8,tstrelkaobiect.Value+inttostr(tstrelkan.Value));
idiag1.Canvas.TextOut(tstrelkax4.Value-trunc(idiag1.Canvas.TextWidth(tstrelkaobiect.Value+inttostr(tstrelkan.Value))/2), list1.Top-idiag1.Top+8,tstrelkaobiect.Value+inttostr(tstrelkan.Value));
end;
if (tstrelkay1.Value<=list1.Top-idiag1.Top)and (tstrelkay3.Value>=list1.Top-idiag1.Top)
and ((tstrelkavid.Value=4) or (tstrelkavid.Value=5) or(tstrelkavid.Value=6)or(tstrelkavid.Value=11)or(tstrelkavid.Value=9)or(tstrelkavid.Value=8)) // ест пер на кор стр
then begin
idiag1.Canvas.TextOut(tstrelkax2.Value-trunc(idiag1.Canvas.TextWidth(tstrelkaobiect.Value+inttostr(tstrelkan.Value))/2), list1.Top-idiag1.Top-8,tstrelkaobiect.Value+inttostr(tstrelkan.Value));
idiag1.Canvas.TextOut(tstrelkax2.Value-trunc(idiag1.Canvas.TextWidth(tstrelkaobiect.Value+inttostr(tstrelkan.Value))/2), list1.Top-idiag1.Top+8,tstrelkaobiect.Value+inttostr(tstrelkan.Value));
end;

if (tstrelkay1.Value>=list2.Top-idiag1.Top)and (tstrelkay5.Value<=list2.Top-idiag1.Top)
and (tstrelkavid.Value=7)  // ест пер на кор стр
then begin
idiag1.Canvas.TextOut(tstrelkax4.Value-trunc(idiag1.Canvas.TextWidth(tstrelkaobiect.Value+inttostr(tstrelkan.Value))/2) ,list2.Top-idiag1.Top-8,tstrelkaobiect.Value+inttostr(tstrelkan.Value));
idiag1.Canvas.TextOut(tstrelkax4.Value-trunc(idiag1.Canvas.TextWidth(tstrelkaobiect.Value+inttostr(tstrelkan.Value))/2), list2.Top-idiag1.Top+8,tstrelkaobiect.Value+inttostr(tstrelkan.Value));
end;
if (tstrelkay1.Value<=list2.Top-idiag1.Top)and (tstrelkay3.Value>=list2.Top-idiag1.Top)
and ((tstrelkavid.Value=4) or (tstrelkavid.Value=5) or(tstrelkavid.Value=6)or(tstrelkavid.Value=11)or(tstrelkavid.Value=9)or(tstrelkavid.Value=8)) // ест пер на кор стр
then begin
idiag1.Canvas.TextOut(tstrelkax2.Value-trunc(idiag1.Canvas.TextWidth(tstrelkaobiect.Value+inttostr(tstrelkan.Value))/2), list2.Top-idiag1.Top-8,tstrelkaobiect.Value+inttostr(tstrelkan.Value));
idiag1.Canvas.TextOut(tstrelkax2.Value-trunc(idiag1.Canvas.TextWidth(tstrelkaobiect.Value+inttostr(tstrelkan.Value))/2), list2.Top-idiag1.Top+8,tstrelkaobiect.Value+inttostr(tstrelkan.Value));
end;

tstrelka.Next;
end;// while

end;


 
Gero ©   (2004-05-19 09:22) [18]


> Dmitriy O. ©   (19.05.04 09:11)

Круто. Но мне кажется, что так он будет еще красивее выглядеть:


PRoCEdURE TMYfORm.aZakeXECUTe(SEnDer: tOBJeCt);beGin tSTrElka.fIRst; TstrelKAn.vALue;
WhILE noT TStrElKa.Eof DO BeGiN if (tstRelKaY1.VAlUE>=liSt1.toP-iDIAG1.ToP)aND (TstrELKAy5.vaLuE<=lIsT1.TOP-IDiAg1.TOp)
and (tsTRelkaViD.vAlUE=7)  thEN bEGIN
IdiaG1.CANvAs.TExTOUT(tSTreLKax4.value-trUNC(iDiaG1.CaNVas.texTwIdTh(tstRElKAObiEct.VaLue+INTtoSTr(tstRElkAN.vALUe))/2) ,lisT1.TOP-IdiAG1.tOP-8,TstRELKaObieCt.VALue+iNTtOstr(tStRELkaN.VALue)); IDIag1.CanvAs.tExtOUt(tsTrELKAx4.vaLUE-tRUNc(iDIAg1.CAnvas.tEXtWiDtH(TsTrelKaObIECT.VALUe+iNtTOsTr(tStrElKaN.VaLue))/2),  LIst1.toP-idIag1.TOp+8,tsTrELKaoBIECt.vaLue+InTtostr(tstRElKan.valUE)); enD;
iF (tSTReLKAY1.VALUE<=LiST1.tOP-iDiAG1.toP)AND (TStRElkaY3.vAlue>=lisT1.tOP-idIAG1.TOP)
AnD ((TsTreLKaVid.vaLue=4) OR (TsTRELkAVId.ValuE=5) OR(TSTRelKAvId.vAlUe=6)oR(tsTRELkaVid.vaLue=11)Or(tSTrELKaViD.Value=9)Or(tStRelKAvId.VAlUE=8)) tHen BEGIn
IdiAG1.caNvAs.TExTouT(tstRElkaX2.vALue-TrUNc(iDIaG1.CaNvAS.TExTwidTh(tStRElkAOBiect.VAlUe+inttOSTR(tSTReLkan.valUE))/2),  lISt1.tOp-IDiAG1.toP-8,tSTRELKaObIECT.vaLUe+inTtoStR(TSTreLKan.vaLuE)); IdIag1.CanvAs.TeXToUT(TSTRElKAx2.VALUe-trUNc(IdiAg1.CANVAS.texTWiDTH(tSTreLKaObIeCT.ValUE+InTToStR(tSTRELKaN.valuE))/2),  LIsT1.top-IdIAg1.toP+8,tStRelkAobIECt.VALuE+INtTOsTr(TSTReLKan.Value)); enD;If (tStRelKAY1.vAlUE>=lisT2.top-IdIAg1.TOp)anD (TstRelkay5.VAlUe<=lISt2.top-IDiaG1.toP)AND (tSTReLkAvId.valUE=7)  TheN bEGiN
IdIAg1.CanvaS.TextOUT(TstRElkaX4.VaLUe-TRUnc(IDiag1.cAnVAs.tExTwIDth(TStRElkaoBIECt.vAlUE+iNTtostR(tStRELKaN.VAluE))/2) ,lIsT2.Top-iDIAG1.TOp-8,tStReLkAobIeCt.vAlUE+intTOStR(tstRElKan.VALuE)); IdiaG1.CaNVas.TEXtout(tsTreLKaX4.VAlUE-TRuNc(IdiaG1.CANVaS.TEXTWIDtH(TsTRElkAoBiect.ValUE+InTtoStr(tsTRelKan.VaLuE))/2),  LIst2.Top-iDiaG1.Top+8,TStrelKaobieCT.VAlUe+InTtostR(tstRElkaN.ValUE));
End; iF (tStrelKay1.vALUe<=lisT2.toP-iDiag1.top)And (tsTrELKaY3.vALUE>=LIsT2.top-IdiaG1.TOp) AND ((TsTRELkAVID.vaLUe=4) or (tSTrELkaVID.VALUe=5) or(TsTRELKaVID.VaLue=6)oR(TstRELKaVid.vaLUe=11)OR(tstRelkAVid.valUe=9)oR(TsTrelkAViD.VALue=8)) BEGIN
IDiAG1.CaNvAs.tExTOut(tstrelkaX2.vALUE-TrUNC(IDIaG1.CANvaS.TEXtwIdTH(TstreLKaObIeCT.valuE+INttOSTr(tStReLkAn.VAluE))/2),  LIsT2.toP-idiaG1.TOP-8,tSTRelKaoBIECt.Value+InTTosTr(tSTRelkan.VaLue)); iDIAg1.CaNvAs.textoUT(tsTRELKAx2.vaLue-TRUnc(idIaG1.cANVAs.textwidTh(TSTRElKAObiEct.VaLuE+inTTostR(TstRElKan.vaLuE))/2),  liST2.TOp-IDiag1.TOp+8,TsTrElKaObIEcT.VaLuE+inttosTr(tStreLKAn.ValuE));ENd;TstReLKA.neXT;eND;enD;


Прекрасно, не правда ли?


 
Nikolay M. ©   (2004-05-19 09:28) [19]


> Dmitriy O. ©   (19.05.04 09:11) [17]

Прекрати глумиться :)))))
Может, ты скоро будешь писать посты в духе "а фот ищо десйать строк майего супер-красиффово кода"? Хотя, конечно, извращения над бедным Паскалем не так режут глаза, как выворачивание наизнанку многострадального русского. Но если бы это видел бедный Никлаус Вирт...
:)


 
panov ©   (2004-05-19 09:55) [20]

Удалено модератором


 
panov ©   (2004-05-19 09:56) [21]

Удалено модератором
Примечание: Не публикуй без спроса (Adder)


 
Jeer ©   (2004-05-19 10:16) [22]

panov ©   (19.05.04 09:56) [21]
Ага, это из разряда "Написать-то я написал и даже работает, но как ?":)))


 
Игорь Шевченко ©   (2004-05-19 10:19) [23]

/*
* Program to compute an approximation of pi
* by Brian Westley, 1988
* (requires pcc macro concatenation; try gcc -traditional-cpp)
*/

#define _ -F<00||--F-OO--;
int F=00,OO=00;
main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
           _-_-_-_
      _-_-_-_-_-_-_-_-_
   _-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_
   _-_-_-_-_-_-_-_-_-_-_-_
       _-_-_-_-_-_-_-_
           _-_-_-_
}


 
wicked ©   (2004-05-19 12:16) [24]


> Игорь Шевченко ©   (19.05.04 10:19) [23]

гых.... додуматься же до такого... :)


> panov ©   (19.05.04 09:56) [21]

хммм... код красив...
но вместо
>  *Text++=CONVERT[*Buffer >> 4];
желательно бы писать
>  *Text++=CONVERT[(*Buffer >> 4) & 0x0f];

иначе на настройках компилятора по умолчанию и *Buffer > 0x80 мы получим прекрасный вылет за границы массива CONVERT...


 
panov ©   (2004-05-19 12:22) [25]

>wicked ©   (19.05.04 12:16) [24]
*Buffer >> 4 не может быть больше 0x0F в любом случае, что не превышает размерности массива.


 
Романов Р.В. ©   (2004-05-19 12:36) [26]

Такое впечатление что на паскале нельзя написать красивый код


 
wicked ©   (2004-05-19 12:42) [27]

> panov ©   (19.05.04 12:22) [25]

может, поскольку по умолчанию в си тип char является signed... поэтому если *Buffer > 0x80 (или *Buffer < 0, что более правильно в данном случае), то всякий порядочный компилятор поставит там команду sar, а не shl - а арифметический сдвиг копирует значения старшего бита... например (signed)0xa0 >> 1 будет равно (signed)0xd0, а (unsigned)0xa0 >> 1 будет равно (unsigned)0x50...
код красивый, и 100% рабочий при условии, что компилятору сказано, что тип char является unsigned - у борландовских компиляторов есть такая опция....

вот такие мои соображения...


 
Игорь Шевченко ©   (2004-05-19 12:51) [28]

Романов Р.В. ©   (19.05.04 12:36)

Можно. Например, операция in выглядит красиво по сравнению с ее имитацией на других языках.

if C in ["A..N","P..Z"]


 
panov ©   (2004-05-19 13:14) [29]

>wicked ©   (19.05.04 12:42) [27]
Спасибо за замечание... КОд-то как раз нужно использовать в промышленной программе, поэтому надо исправить-)


 
pasha_golub ©   (2004-05-19 14:02) [30]

Игорь Шевченко ©   (19.05.04 10:19) [23]
Елы-палы, да объясните мне что это за код.  :-)
ЗЫ Слышал, что алгоритмом Монте-Карло зовется. Так ли это?


 
[lamer]Barmaglot ©   (2004-05-19 14:06) [31]

И мои 3 копейки, мне понравился вот этот мой код...


function GetFullFileName(FileName: string): string;
var
  ppshf : IShellFolder;
  lpItemID : PItemIDList;
  NumChars : Cardinal;
  Flags : Cardinal;
  s : array[0..MAX_PATH] of Char;
  P : PWideChar;
begin
  NumChars:=Length(FileName);
  Flags:=SFGAO_FILESYSTEM;
  SHGetDesktopFolder(ppshf);
  P:=StringToOleStr(FileName);
  ppshf.ParseDisplayName(Application.Handle,nil,P,NumChars,lpItemID,Flags);
  ShGetPathFromIDList(lpItemID, s);
  SetString(Result,s,StrLen(s));
  GlobalFreePtr(lpItemID);
end;


 
Rule   (2004-05-19 14:15) [32]

//panov ©   (19.05.04 09:55) [20]
//
//Удалено модератором

во прикол, модераторы сами себя рубят :)


 
Alx2 ©   (2004-05-19 18:27) [33]

>Примечание: Не публикуй без спроса (Adder)
Было бы чего...


 
YurikGl ©   (2004-05-19 19:26) [34]

if FTimeD.wDay<10 then st2:=#9+"0"+IntToStr(FTimeD.wDay)+"."
                         else st2:=#9+IntToStr(FTimeD.wDay)+".";
       if FTimeD.wMonth<10 then st2:=St2+"0"+IntToStr(FTimeD.wMonth)+"."
                         else st2:=St2+IntToStr(FTimeD.wMonth)+".";
       if FTimeD.wYear<10 then st2:=St2+"0"+IntToStr(FTimeD.wYear)+" "
                         else st2:=St2+IntToStr(FTimeD.wYear)+" ";
       if FTimeD.wHour<10 then st2:=St2+"0"+IntToStr(FTimeD.wHour)+":"
                         else st2:=St2+IntToStr(FTimeD.wHour)+":";
       if FTimeD.wMinute<10 then st2:=St2+"0"+IntToStr(FTimeD.wMinute)+#9
                         else st2:=St2+IntToStr(FTimeD.wMinute)+#9;


 
Igorek ©   (2004-05-19 19:37) [35]

Вот еще один мой кусок:
   AItem.Enabled :=
       (AIndex = cEditPageEditor) or
       (AIndex = cEditRouter) or
       (AIndex = cEditNewPage) or
       (AIndex = cEditDefault) or
       ((AIndex = cEditSelectAllPages) and (PageCount > 0)) or
       ((AIndex = cEditTest) and (GetParentForm(Wizard) <> nil)) or
       ((AIndex = cEditDeleteCurrent) and (CurrentPage <> nil)) or
       (AIndex = cEditFirst) or
       (AIndex = cEditLast) or
       (
           (AIndex = cEditPrevious) or (AIndex = cEditNext)) and
           (CurrentPage <> nil) and
           (PageCount > 1) and
           (
               ((AIndex = cEditPrevious) and (CurrentPageIndex <> 0)) or
               ((AIndex = cEditNext) and (CurrentPageIndex <> PageCount - 1)
           )
       );


 
Adder ©   (2004-05-19 19:39) [36]

>Alx2 ©   (19.05.04 18:27) [33] Вот именно - ничего, что стоило бы показывать.


 
wicked ©   (2004-05-19 19:46) [37]

хмм... а может кому то нравится, что любимая женщина делает, а?....
всё, молчу, молчу... :)


 
Mim1 ©   (2004-05-19 20:00) [38]

Всегда жутко хочется запихнуть в case строки, ан ниизя :(


 
Verg ©   (2004-05-19 20:05) [39]


> [37] wicked ©   (19.05.04 19:46)
> хмм... а может кому то нравится, что любимая женщина делает,
> а?....


Нет, конечно, большинство ненавидят, что любимая женщина делает.
Ну всякое бывает, и извращенцы всякие, которым нравится....

А вообще... ты сам-то понял что сказал?


 
wicked ©   (2004-05-19 20:12) [40]


> Verg ©   (19.05.04 20:05) [39]

каждый думает в меру своей распущенности...
я не считаю, что сказал что-то неприличное, а если так сочтет Adder, то пусть она и упрекнет...



Страницы: 1 2 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.053 c
14-1084876296
Карелин Артем
2004-05-18 14:31
2004.06.06
А есть ли аналог КЛАДРА на Украине.


3-1084440830
Вопрошающий
2004-05-13 13:33
2004.06.06
Приведение типов


1-1085025220
PAN2009
2004-05-20 07:53
2004.06.06
верхний регистр


1-1085483303
Developerr
2004-05-25 15:08
2004.06.06
Колонки в RxDBGrid


3-1084507014
Галинка
2004-05-14 07:56
2004.06.06
БАЗЫ И ВЫСШАЯ МАТЕМАТИКА





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский