Jun

26

Şampiyonluğun Hikayesi

Yusuf Aytaş

promo_fcb-eng1

Zor bir seneydi aslında. Her şey çok kolay olmuş gibi geliyordu dışardan bakıldığında ama Barça çok çalıştı  kupaların her biri için. Bazen şansta yardım etti tabi :). Ama sevindirici olan 3 kupayıda birden almayı başaran takımın ilk Barçanın olmasıydı. Sonunda çok güzel bir sezon yaşattı Barça taraftarlarına.

Hele Reale 6 attığımız maç akıllara kazınacak ve içimizdeki real nefretinin dışa vurumuna dönüşecekti. O maçta Barça ruhunu gördük tabikide. Her atılan golde dahasını istedi taraftar ve olduda üzmedi Barçalı futbolcular :D. Real ise tarihinin acı ama gerçek hezimetlerinden birini yaşadı. Hiç bir dalda başarı gösteremedi geçen sezon. Şimdilerde astronomik transferlerle kendini avunduruyor ama bence sonları yine hüsran olacak…

Manchester United… Gerçektende iyi bir kadroya sahip bir takım… Fazla denilecek bir söz yok ama Barcelonanın ortasahası ile mücadele edebilecek dünyada takım yok Alex Ferguson’un dediği gibi. Ayağa paslarla rakibi yorup kendi oyunu rakibe kabullendirmek. Barçaya has süper paslar… Sonunda eze eze galip geldiğimiz bir maç oldu tabikide.

Sezonun tamamında gerçekten özverili bir çalışma gösterdi hem Barça teknik kadrosu hem de Barçalı futbolcular. Gelelim Guardiola’ya… Zaten futbol kariyeri olarak kendini gerçektende çok iyi kanıtlamış bir isim. Futbol zekasına denecek söz yok. Sezon başlarında biraz olsun şüpheye düşürdüysede takımı en iyi şekilde oynatmayı ve organize etmeyi başardı. Başarılarının devamını bekliyoruz…

Türkiyeden tabi Barça taraftarı olmak zor aslında. Her zaman bulamıyorsun izleyemiyorsun maçlarını. Ancak video sitelerinden geniş özetleriyle avunuyorsun. Camp Nou da izlemenin tadına varamıyorsun tabikide ama oda olur inşallah :D.

Jun

25

HP Faciası

Yusuf Aytaş

Yaklaşık 2.5 sene önce HP nin Pavillion serisinin RP981EA modelindeki laptopunu satın almıştım. Çoğu HP Laptop kullanıcısın karşılaştığı sorunlarla bende yüzleştim. Bunlardan ilki belkide en önemli sorunu olan bilgisayarın aşırı ısınmasıydı. Bu sorun bazen öyle haller alıyorduki bilgisayarın aniden kapanmasına sebep oluyordu. Bu soruna zamanla alışmak zorunda kaldıysamda problemler bununla bitmedi. Bilgisayarı itina ile kullanan biri olmama rağmen ses sisteminde bir problem çıktı. Bunun üzerine HP servisine gittim. Ve bilgisayarımı tamire verdim. Benimle birlikte HP alan bütün arkadaşlarımda çeşitli nedenlerle servislere başvurdu. Kimi zaman bilgisayar 30 gün sonunda hiç bir tamir yapılmaksızın geri verildi kimi zamanda yarım yamalak tamirattan geçtikten sonra iade edildi. Buna bir örnek vermeden geçemeyeceğim. Arkadaşımın laptopunun anakartında problem vardı bilgisayarın bataryasını şarj etmiyordu. HP servisine bilgisayarını verdi. HP servisi ise bataryada problem olmadığı halde bilgisayarın bataryasını değiştirerek bozuk bilgisayarı geri verdi. Diğer bir arkadaşımın bilgisayarı ise 4 ay kadar serviste kaldı. HP nin söz verdiği gibi para iadesi de olmadı. Çünkü bilgisayarı 30 iş günü içerisinde bozukda olsa geri verdiler. Neyseki benim bilgisayarımda yukarıda saydığım servis problemlerini yaşamadım. Bilgisayarımı aldığımda bir problem yoktu.
Bundan yaklaşık bir sene sonra – bu tarih garantisinin yarım yıl geçtiği zamana tekabül etmekte- bilgisayarımın sabit diskinde problem meydana geldi. Sorunu HP servisinde çözmey daha sağlıklık bulduğum için bilgisayarımı servise götürdüm. Sabit diskte problem olduğunu ve gerekli tamirin yapılmasını istedim. HP yaklaşık iki gün içerisinde bana hangi parçaların ne kadar olduğunu bildirdi. Parçaların fiyatını duyduğumda şaşkınlıktan sadece güldüm. Bu fiyatlara sade gülünebilirdi. 120 gb HP sabit disk 112 dolardı. Dahası KDV debu miktara dahil değildi. Size miktarın ne kadar komik olduğunu şöyle açıklayayım aynı dönemede WD Sabit Disk 320 GB 70 dolar civarındaydı ve KDV de bu fiyata dahildi. Bu fiyatları görünce HP den sabit disk almaktan vazgeçtim. Bilgisayarımı servisten almak istedim. Ama 20 dolar civarında bir para talep ettiler. Bu parayı vermek zorunda kaldım. Bilgisayara her hangi bir tamir yapılmadı bu süreç içerisinde. Eğer sabit diskte problem olduğunu buldukları için alıyolarsa ki büyük bir yalan olurdu çünkü ben zaten bilgisayarın arızasını ayrıntılı bir şekilde verdikleri forma yazmıştım.
Bilgisayarımı servisten aldıktan sonra büyük bir bilgisayar mağazasına gittim. Burada bilgisayarımın sabit diskini çıkardığımızda HP’nin SATA harddiskinin kendi özel üretimi olduğunu gördük ve serviste tamir parasıyla birklite 152 dolar ve KDVsini vermeye mecbur tutulduk. Aynı problemi benim iki arkadaşımda yaşadı. İlk arkadaşım bilgisayarını servise götürdüğünde çıkarılan fiyat 600 TL olmuştu ki zaten bilgisayarı satsa 600 TL etmezdi. Bilgisayarını hurdacıya verdi. Diğer arkadaşımında bilgisayarının anakartı yandı garantisi bittikten 3 veya 4 ay sonra. İstedikleri para bilgisayardan yine pahalıydı dolayısıyla onun bilgisayarıda hurdaya çıktı.
Şimdi soruyorum HP gibi dünya devi diyebileceğimiz bir markanın standartlar dışında sabit disk satıp(sattığı miktar normal bir sabit diskin 4 katı hemen hemen) haksız kazanç elde etmesi bu firmaya ne kadar yakışıyor? Bu kadar sorunlara rağmen piyasada nasıl tutuluyor?
Hakkımı armak istediğimde her seferinde müşterir temsilcileriyle muhattap olmaktan bıktığımı ve gerçekten sorunuma çare olabilecek kimseyi bulamadığımı belirtmek istiyorum. HP’nin yardım desteğinden her türlü servisine ve hizmetine hatta ve hatta sattığı ürüne bu saatten sonra hiç bir şekilde itimat etmeyeceğim. Sizde arkadaşlar HP almak isteyen arkadalarınızı almamaya ikna edin ve hatta HP’ye karşı kurduğum facebook gurubuna sizde katılın. http://www.facebook.com/s.php?ref=search&sid=4215b6c4c9e0cec034e0572d52033d51&init=q&q=hp%20almay%C4%B1n#/group.php?gid=126459499992

Yazıyı okuduğunuz için teşekkürler hakkımızı aramaya devam edelim…

Mar

21

Binary Search Tree

Yusuf Aytaş

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef BINARYSEARCHTREE_H
#define BINARYSEARCHTREE_H
#include <cstdlib>
#include <iostream>
using namespace std;
//bst yi binary search tree derken kullanicam
//Yeni bir bst olusturuyoruz
class BinarySearchTree{
public  :
        //Constructor ve diger methodlarin tanimlanmasi 
        BinarySearchTree();
        bool addItem(const int &item);
        bool deleteItem(const int &item);
        void preOrderTraversal();
        void postOrderTraversal();
        void inOrderTraversal();
        int numberOfLeaves();
        int getHeight();
private :
        //Node adinda yeni bir yapi(struct) olusturuyoruz
        struct Node{
            int item;
            Node *right;
            Node *left;
        };
        bool addNodeItem(const int &item,Node *&node);
        bool deleteNodeItem(const int &item,Node *&node);
        void exchange(Node *&dNode,Node *&fNode);
        void preOrder(Node *&node);
        void postOrder(Node *&node);
        void inOrder(Node *&node);
        int countLeaves(Node *&node);
        int getHeight(Node *&node);
        //bst nin ilk elemani
        Node *head;
};
#endif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#include "BinarySearchTree.h"
//Constructor 
BinarySearchTree::BinarySearchTree(){
   head = NULL;
}
//yeni bir eleman eklemek icin kullacagimiz method
bool BinarySearchTree::addItem(const int &item){
     return addNodeItem(item,head);
}
//bst tedeki bir elamani silmek icin kulacagimiz method
bool BinarySearchTree::deleteItem(const int &item){
     return deleteNodeItem(item,head);
}
//bst nin preOrder traversalini dönderir
void BinarySearchTree::preOrderTraversal(){
     preOrder(head);
}
//bst nin postOrder traversalini dönderir
void BinarySearchTree::postOrderTraversal(){
     postOrder(head);
}
//bst nin inOrder traversalini dönderir
void BinarySearchTree::inOrderTraversal(){
     inOrder(head);
}
//agactaki yaprak sayisini donderir
int BinarySearchTree::numberOfLeaves(){
     return countLeaves(head);
}
int BinarySearchTree::getHeight(){
     return getHeight(head);
}
bool BinarySearchTree::addNodeItem(const int &item,Node *&node){
     //Eger node nullsa yeni bir node olusturup bunu null olan
     //node ile degistiriyoruz
     if(node==NULL){
         Node *newNode = new Node();
         newNode->item = item;
         node = newNode;
         return true;
     }
     //eger gelen item node daki itemden küçükse bunu
     //agacin sol elemanina yolluyoruz büyüksede agacin 
     //sag elemanina gonderiyoruz
     else if(item<node->item)
         return addNodeItem(item,node->left);
     else
         return addNodeItem(item,node->right);
}
bool BinarySearchTree:: deleteNodeItem(const int &item,Node *&node){
     //Eger node Null sa bu demek oluyor ki agactaki uygun eleman
     //lari gezmis ama istedigimiz nodu bulamamisizdir
     if(node == NULL)
         return false;
     //eger gelen item node daki itemden küçükse bunu
     //agacin sol elemanina yolluyoruz büyüksede agacin 
     //sag elemanina gonderiyoruz
     else if(item < node->item)
         return deleteNodeItem(item,node->left);
     else if(item > node->item)
         return deleteNodeItem(item,node->right);
     //bu durum nodu buldugumuz durum yani itemlerin esit olmasi
     else{
         //eger sag ve sol yaprak bossa direk siliyoruz cunku
         //bizi zora sokabilecek yaprak yok
         if(node->right==NULL&&node->left==NULL){
              node = NULL;
              delete node;
         }
         //eger sag ve ya soldan birisi doluysa oradaki sag elaman
         //ile bizim nodumuza esitleyerek kurtulmus oluyoruz
         else if(node->left==NULL)
              node = node->right;
         else if(node->right==NULL)
              node = node->left;
         //eger her ikiside doluysa exchange methodu bizim node ile
         //nodun sagindaki node a gidiyoruz.Burda sebep bizim node dan
         //buyuk olan ilk eleman sagdaki ilk node olmasi
         else
              exchange(node,node->right);
         return true;
     }
}
void BinarySearchTree:: exchange(Node *&dNode,Node *&fNode){
     //burada bize verilen sag nodun null olup olmadigina bakiyoruz
     //eger null deilse sol node ala ala en son sol nodu bulana kadar
     //asagi iniyoruz. Bunun sebebi en solda bulacagimiz sol nodu
     //tree nin dengesini bozmayacaktir. Cunku en son buldugumuz sol node
     //dnode dan asagida bulunan diger butun nodelardan kucuk olmasidir
     //en sonunda sagdaki elemanla degistirme nedenimizse agacin sag 
     //tarafinin korunmasini saglamak istedigimizdir.
     if(fNode->left == NULL){
         dNode->item = fNode->item;
         fNode = fNode->right;
     }
     else
         exchange(dNode,fNode->left);         
}
void BinarySearchTree:: preOrder(Node *&node){
     //burada preOrderi cagiriyoruz bu ilk once
     //kendi nodumuzu sonra left ve right nodu cagirmak demektir
     //preorderla agacimizi yeni bastan olusturabiliriz.
     if(node != NULL){
         cout<<node->item<<endl;
         preOrder(node->left);
         preOrder(node->right);
     }
}
void BinarySearchTree:: postOrder(Node *&node){
     //burada postOrderi cagiriyoruz bu ilk once
     //left ve right nodu sonra kendi nodumuzu cagirmak demektir
     //preorderla agacimizi yeni bastan olusturabiliriz.
     if(node != NULL){
         postOrder(node->left);
         postOrder(node->right);
         cout<<node->item<<endl;
     }
}
void BinarySearchTree:: inOrder(Node *&node){
     //burada inOrderi cagiriyoruz bu ilk once left yapragi
     //daha sonra nodun kendisini en sondada nodun sag elemanini
     //cagirmak demektir 
     //inorderla agacimizin sirali bir sekilde bastirilmasini saglariz.
     if(node != NULL){
         inOrder(node->left);
         cout<<node->item<<endl;
         inOrder(node->right);
     }
}
int BinarySearchTree:: countLeaves(Node *&node){
    //eger nodu nullsa 0 donder sayilacak yaprak yok demektir
    //degilse sag ve sol elamanlarda kac tane yaprak olduguna bak
    //onlari toplayip sonucu donmesi.
    if(node==NULL)
        return 0;
    else
        return countLeaves(node->left)+countLeaves(node->right)+1;
}
int BinarySearchTree:: getHeight(Node *&node){
    //eger node null sa boyu sifira esit demektir dolayisiyla
    //0 donuyoruz
    int right,left;
    if(node==NULL)
        return 0;
    //eger null degilse nodu un boyu sol ve sag cocugundan hangisinin
    //boyu daha uzunsa onun bir fazlasina esittir.
    else if((left=getHeight(node->left)+1)>(right=getHeight(node->right)+1))
        return left;
    else
        return right;
}
 Sayfa: 1 | Toplam: 8  1  2  3  4  5 » ...  Last »