Bumerang komut satırından hem window hem linux hem de çaprazlama bir şekilde dosya transferini sağlayan bir komut satırı aracıdır.
Dosya transferini istenirse şifreleyerek sağlayabilir. Bumerang ile aynı scp komutu gibi, hızlıca dosyalarınızı transfer edebilirsiniz.
Ayrıca C ile soket programlamayada güzel bir örnek teşkil etmektedir.
Depo: https://github.com/egcodes/bumerang-transferFilesTool
Showing posts with label C Language. Show all posts
Showing posts with label C Language. Show all posts
MovieList Manager
MovieList Manager v1.0 Beta
- Ubuntu TR - Uygulama Geliştirme Tayfası ile beraber yaptığımız bir film arşiv yönetim programıdır.
Tanıtım
MovieList Manager bir film arşiv yöneticisidir. Film dizininizi seçip listele dedikten sonra filmleriniz listelenir ve istediğiniz filmin bilgilerini sağ tıklayıp bilgileri indir diyerek indirebilirsiniz.
İndirilen bilgiler filmin afişi, genel bilgiler, oyuncular ve özet.
Bu sürüm beta sürümüdür. Hataları buradan veya proje sayfasından bug bildirimi yaparak iletebilirseniz programı daha da geliştirebiliriz.
Proje sayfası
https://launchpad.net/mlm-ugt
Ekran Görüntüsü
Download
(32bit) http://launchpad.net/mlm-ugt/...
(64bit) http://launchpad.net/mlm-ugt/...
- Ubuntu TR - Uygulama Geliştirme Tayfası ile beraber yaptığımız bir film arşiv yönetim programıdır.
Tanıtım
MovieList Manager bir film arşiv yöneticisidir. Film dizininizi seçip listele dedikten sonra filmleriniz listelenir ve istediğiniz filmin bilgilerini sağ tıklayıp bilgileri indir diyerek indirebilirsiniz.
İndirilen bilgiler filmin afişi, genel bilgiler, oyuncular ve özet.
Bu sürüm beta sürümüdür. Hataları buradan veya proje sayfasından bug bildirimi yaparak iletebilirseniz programı daha da geliştirebiliriz.
Proje sayfası
https://launchpad.net/mlm-ugt
Ekran Görüntüsü
Desteklediği Sistem
- Linux
Download
(32bit) http://launchpad.net/mlm-ugt/...
(64bit) http://launchpad.net/mlm-ugt/...
MT_Banner
MT_Banner bir yazı stili oluşturucudur. Girilen yazıyı tekrar size bir çıktı halinde verir.
Max. 10 karakter giriniz.
Not : Karakterlerin biçimlerini oluşturan binary numaraları alıntıdır.
(http://www.csystem.org/kaynak-kod-arsivi/banner-komutu)
Depo: https://gist.github.com/egcodes/6245294
Max. 10 karakter giriniz.
Not : Karakterlerin biçimlerini oluşturan binary numaraları alıntıdır.
(http://www.csystem.org/kaynak-kod-arsivi/banner-komutu)
Depo: https://gist.github.com/egcodes/6245294
Loading ....
Tic Tac Toe
Tic Tac Toe ya da bizim liseden bildiğimiz SOS oyunu.
Bilgisayara karşı oynuyorsunuz ufak bir yapay zekası var kolayca yenilmiyor. İyi oyunlar :)
Depo: https://gist.github.com/egcodes/6245323
Bilgisayara karşı oynuyorsunuz ufak bir yapay zekası var kolayca yenilmiyor. İyi oyunlar :)
Depo: https://gist.github.com/egcodes/6245323
Loading ....
Boss
Boss 1.0 Beta
Desteklediği Arşivler --> gz, bz2, tar.gz, tar.bz2, zip , rar, tar
Desteklediği Sistemler -> All POSIX (Linux/BSD/UNIX-like OSes)
Key
Key v1.0
Altyazıları kalıcı olarak düzeltmek için komut satırında çalışan basit bir program.
Depo: https://github.com/egcodes/key-syncSubtitle
Altyazıları kalıcı olarak düzeltmek için komut satırında çalışan basit bir program.
Depo: https://github.com/egcodes/key-syncSubtitle
Mixer

İnternetten izlenen videoları, tarayıcıların cache sistemlerinden çeken bir program.
Desteklediği Tarayıcılar -> Chrome, Chromium, Firefox ve Opera
Desteklediği Sistemler -> All POSIX (Linux/BSD/UNIX-like OSes)
Proje ve Download için -> http://sourceforge.net/projects/mixerproject/
Sıralama Algoritmaları Yarışması
Sıralama algoritmaları karışık durumdaki dizileri sıralarken bilindiği gibi farklı algoritmalar kullanırlar.
Fakat hangisinin en hızlı olduğu işte aşağıdaki kodlar yardımıyla ortaya çıkıyor. Fakat burada dikkat çekmek istediğim nokta bu algoritmaların hızlarının karşılaştırıldığı. En hızlı olanın aynı zamanda en verimli algoritma olduğu her zaman söylenemez.
Fakat hangisinin en hızlı olduğu işte aşağıdaki kodlar yardımıyla ortaya çıkıyor. Fakat burada dikkat çekmek istediğim nokta bu algoritmaların hızlarının karşılaştırıldığı. En hızlı olanın aynı zamanda en verimli algoritma olduğu her zaman söylenemez.
Aşağıdaki kodları çalıştırılanlar 7 tane sıralama algoritmasının 100 bin elamanlı bir dizi üzerinde sıralama yaparken ne kadar zaman harcadıklarını görecekler.
Yarış başlasın :)
Not : Windows sistemleri için system("clear") komutunu system("cls") olarak değiştirin.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 100000
#define SORTSIZE 8
typedef struct _sort {
char name[25];
double time;
}sort;
double calctime(double start);
int *setRandomArray(int *a, int size);
void displayArray(const int *a, int size);
void displaySort(sort *p, int size);
void sortSort(sort *p, int size);
int fcmp(const void *vp1, const void *vp2); //for qsort
void sift(int *p, int left, int right); //for heap sort
//Sort Algorithms
void bubble_sort(int *p, int size);
void selection_sort(int *p, int size);
void shell_sort (int *p, int size);
void merge_sort (int *p, int size);
void insertion_sort(int *p, int size);
void heap_sort (int *p, int size);
int main(void)
{
int array[SIZE];
clock_t start;
sort sortarray[SORTSIZE];
srand((unsigned int)time(0));
printf("S o r t A l g o r i t h m s\n");
printf("=============================\n\n");
printf("%d element array\n", SIZE);
printf("----------------------\n\n");
//Selection sort
printf("Selection sort is working\n");
setRandomArray(array, SIZE);
start = clock();
selection_sort(array, SIZE);
sprintf(sortarray[1].name, "Selection sort");
sortarray[1].time = calctime(start);
//Bubble sort
printf("Bubble sort is working\n");
setRandomArray(array, SIZE);
start = clock();
bubble_sort(array, SIZE);
sprintf(sortarray[2].name, "Bubble sort");
sortarray[2].time = calctime(start);
//Qsort
printf("Qsort is working\n");
setRandomArray(array, SIZE);
start = clock();
qsort(array, SIZE, sizeof(int), &fcmp);
sprintf(sortarray[3].name, "Qsort");
sortarray[3].time = calctime(start);
//Merge sort
printf("Merge sort is working\n");
setRandomArray(array, SIZE);
start = clock();
merge_sort(array, SIZE);
sprintf(sortarray[4].name, "Merge sort");
sortarray[4].time = calctime(start);
//Insertion sort
printf("Insertion sort is working\n");
setRandomArray(array, SIZE);
start = clock();
insertion_sort(array, SIZE);
sprintf(sortarray[5].name, "Insertion sort");
sortarray[5].time = calctime(start);
//Heap sort
printf("Heap sort is working\n");
setRandomArray(array, SIZE);
start = clock();
heap_sort(array, SIZE);
sprintf(sortarray[6].name, "Heap sort");
sortarray[6].time = calctime(start);
//Shell sort
printf("Shell sort is working\n");
setRandomArray(array, SIZE);
start = clock();
shell_sort(array, SIZE);
sprintf(sortarray[7].name, "Shell sort");
sortarray[7].time = calctime(start);
//Results
system("clear");
printf("S o r t A l g o r i t h m s\n");
printf("=============================\n\n");
sortSort(sortarray, SORTSIZE);
displaySort(sortarray, SORTSIZE);
getchar();
return 0;
}
void sortSort(sort *p, int size)
{
int i, j;
sort temp;
for (i = 0; i < size - 1; i++)
for (j = 0; j < size - i - 1; j++)
if (p[j].time > p[j + 1].time) {
temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
void displaySort(sort *p, int size)
{
int k;
for (k = 1; k < size; k++)
printf("%d) %s -> %.3f\n", k, p[k].name, p[k].time);
}
int *setRandomArray(int *a, int size)
{
int i;
for (i = 0; i < size; i++)
a[i] = rand() % 1000 + 100;
return a;
}
void displayArray(const int *a, int size)
{
int i;
for (i = 0; i < size; i++)
printf("%d ", a[i]);
}
double calctime(double start)
{
clock_t end = clock();
return (double)(end - start) / CLOCKS_PER_SEC;
}
//for Qsort
int fcmp(const void *vp1, const void *vp2)
{
return *(const int *)vp1 - *(const int *)vp2;
}
//for Heap sort
void sift(int *p, int left, int right)
{
int temp, i;
i = left +left +1;
temp = p[left];
do {
if (i < right && p[i] < p[i+1])
i++;
if (temp >= p[i])
break;
p[left] = p[i];
left = i;
i = 2 * i + 1;
} while (i <= right);
p[left] = temp;
}
void bubble_sort(int *p, int size)
{
int i, j, temp;
for (i = 0; i < size - 1; i++)
for (j = 0; j < size - i - 1; j++)
if (p[j] > p[j + 1]) {
temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
void selection_sort(int *p, int size)
{
int i, j, temp, min;
for (i = 0; i < size - 1; i++) {
min = i;
for (j = i + 1; j < size; j++)
if (p[min] > p[j])
min = j;
temp = p[min];
p[min] = p[i];
p[i] = temp;
}
}
void shell_sort (int *p, int size)
{
int i, j, k, temp;
for (k = size; k > 1; ) {
k = (k < 5) ? 1 : ((k * 5 - 1) / 11);
for (i = k - 1; ++i < size; ) {
temp = p[i];
for (j = i; p[j - k] > temp; ) {
p[j] = p[j - k];
if ((j -= k) < k)
break;
}
p[j] = temp;
}
}
}
void merge_sort (int *p, int size)
{
int *t, *q, *buf;
int left, len, count1, count2, source1, source2, dest;
if (size <= 1)
return;
buf = q = (int *) malloc(size * sizeof(int));
if (buf == NULL) {
printf("not enough memory!");
exit(EXIT_FAILURE);
}
len = 1;
do {
left = size;
source1 = dest = 0; source2 = len;
do {
left -= count1 = (left >= len) ? len : left;
left -= count2 = (left >= len) ? len : left;
while (count1 > 0 && count2 > 0) {
if (p[source1] < p[source2]) {
q[dest++] = p[source1++];
count1--;
}
else {
q[dest++] = p[source2++];
count2--;
}
}
while (--count1 >= 0)
q[dest++] = p[source1++];
while (--count2 >= 0)
q[dest++] = p[source2++];
source1 += len; source2 += len;
} while (left > 0);
t = p;
p = q;
q = t;
len *= 2;
} while (len < size);
if (p == buf)
while (--size >= 0)
q[size] = p[size];
free(buf);
}
void insertion_sort(int *p, int size)
{
int i, j, t;
for (i = 0; ++i < size; ) {
t = p[i];
for (j = i; p[j - 1] > t; ) {
p[j] = p[j - 1];
if (--j <= 0) break;
}
p[j] = t;
}
}
void heap_sort (int *p, int size)
{
int left, right, temp;
if (size <= 1)
return;
left = size / 2;
right = size - 1;
while (--left >= 0)
sift(p, left, right);
for (;;) {
temp = p[0];
p[0] = p[right];
p[right] = temp;
if (--right <= 0)
break;
sift(p, 0, right);
}
}
Subscribe to:
Posts (Atom)






