PDA

Prikaži potpunu verziju : Isečci koda (code snippets), algoritmi...


Ivan-94
18.11.2010, 17:09
Evo ovde mozete postaviti korisne isecke iz vaseg koda, ili neko korisne algoritme.Mozete pisati u bilo kom jeziku samo navedite u kome je taj kod napisan.

Evo ja da pocnem:

Ovo je algoritam za pretvaranje decimalnog broja u hexadecimalni:
while decimalniBroj != 0
{
podeli decimalniBroj sa 16,dobijas kolicnik i ostatak
taj ostatak je sledeca brojka u hex broju
ako je ostatak 10 onda je to u hex A, B=11, C=12, D=13, E=14, F=15.
a brojke od 0-9 se isto pisu(0=0, 1=1, 2=2...9=9)
decimalniBroj = kolicnik(samo broj ispred zareza)
}
Ovo je kod vise za rucno racunanje ali se moze koristiti i u programiranju, iako sada postoje f-je tipa .ToHex()...

Ivan452
19.11.2010, 1:59
sta je ovo? Novi jezik - Serbian Sharp :)
Nije losa ideja za temu, ali daj makar si mogao da iskucas ovaj kod barem u pseudo jeziku.
A preporucujem ti da ovo "mrzi me da koristim srpsku tastaturu - moderatori moderisite" da obrises dok neki mod nije spazio :opanachke

Belphegor
19.11.2010, 10:41
Ok. Evo jedan "isečak" od mene.
Jezik: C++
Platforma: Mi©ro$oft Windows
Opis: Ovaj "code snippet" extraktuje listu fajlova iz zadatog foldera.


#include <windows.h>
#include <iostream>
#include <vector>
#include <string>
#include <xstring>

#ifdef UNICODE
#define stringx std::wstring
#define coutx std::wcout
#else
#define stringx std::string
#define coutx std::cout
#endif

std::vector<stringx> GetFileList(stringx path, stringx fileType = TEXT("*.*"));

int main()
{
std::vector<stringx> vFileList;

//vFileList = GetFileList(TEXT("D:\\Photos\\Texture Za Obradu"));
vFileList = GetFileList(TEXT("D:\\Photos\\Texture Za Obradu"), TEXT("*.jpg"));

for(UINT i = 0; i < vFileList.size(); ++i)
{
coutx << vFileList[i].c_str() << std::endl;
}

std::cin.get();
return 1;
}

std::vector<stringx> GetFileList(stringx path, stringx fileType)
{
std::vector<stringx> vFiles;
stringx dir(path + TEXT("/*") + fileType);

WIN32_FIND_DATA fileData;
HANDLE handle = INVALID_HANDLE_VALUE;

if(INVALID_HANDLE_VALUE != (handle = FindFirstFile(dir.c_str(),&fileData)))
{
vFiles.push_back(fileData.cFileName);
while(FindNextFile(handle, &fileData))
{
vFiles.push_back(fileData.cFileName);
}
FindClose(handle);
}
return vFiles;
}

Fantastic
20.11.2010, 9:50
Ok. Evo jedan "isečak" od mene.
Jezik: C++
Platforma: Mi©ro$oft Windows
Opis: Ovaj "code snippet" extraktuje listu fajlova iz zadatog foldera.


#include <windows.h>
#include <iostream>
#include <vector>
#include <string>
#include <xstring>

#ifdef UNICODE
#define stringx std::wstring
#define coutx std::wcout
#else
#define stringx std::string
#define coutx std::cout
#endif

std::vector<stringx> GetFileList(stringx path, stringx fileType = TEXT("*.*"));

int main()
{
std::vector<stringx> vFileList;

//vFileList = GetFileList(TEXT("D:\\Photos\\Texture Za Obradu"));
vFileList = GetFileList(TEXT("D:\\Photos\\Texture Za Obradu"), TEXT("*.jpg"));

for(UINT i = 0; i < vFileList.size(); ++i)
{
coutx << vFileList[i].c_str() << std::endl;
}

std::cin.get();
return 1;
}

std::vector<stringx> GetFileList(stringx path, stringx fileType)
{
std::vector<stringx> vFiles;
stringx dir(path + TEXT("/*") + fileType);

WIN32_FIND_DATA fileData;
HANDLE handle = INVALID_HANDLE_VALUE;

if(INVALID_HANDLE_VALUE != (handle = FindFirstFile(dir.c_str(),&fileData)))
{
vFiles.push_back(fileData.cFileName);
while(FindNextFile(handle, &fileData))
{
vFiles.push_back(fileData.cFileName);
}
FindClose(handle);
}
return vFiles;
}


Ovde mi se ne svidja to sto biblioteka windows.h moze samo na windows platformu.
Posto ja koristim Linux moram da objavim sledeci kod za isti zadatak ali za sve OS-e.

#include <QApplication>
#include <QTextStream>
#include <QDir>
#include <QString>
#include <QStringList>

int main(int argc, char* argv)
{
` QApplication a(argc, argv);
QTextStream s(stdout), si(stdin);
QDir dir;
QString str;
s << "Unesite putanju direktoriuma";
si >> str;
dir.setCurrent(str);
QStringList l = dir.entryList();
for (int i = 0; i<l.size(); i++)
{
s << l.at(i);
}
return a.exec;
}