THT Coder Club

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

cor-vo

Yaşayan Forum Efsanesi
23 Tem 2013
7,985
1
122
C/C++ Pointer ve String Örneği

Merhaba Arkadaşlar,

C/C++ dilinin önemli konularından Pointerlar ve Stringler ile ilgili bir örnek yapacağız.

Program ilk girişte şifre isteyecek, şifre doğru ise kullanıcı işlem yapabilecek ve şifre için kullanıcıya 3 hak tanıyacağız.

Program kullanıcının belirlediği hane kadar dizi oluştucak ve elemanları kullanıcıdan alacak, karışık sıra ile girilen dizileri kücükten büyüğe sıralayacak, dizinin aritmetik ortalamasını bulacak, en büyük elemanı ve adresini verecek.


Kod:
#include <stdio.h>
#include <stdlib.h>
#include <string.h> /*string fonksiyonlarını kullanacağım için kütüphaneyi aktif ediyorum*/
int main()
{
	    char sifre[5];
		/* 4 haneli sifremi tutacak bir string olusturdum ayrıca '\0' null karakteri için de 1 hane ayırıyorum*/

start:
	    printf("Lutfen Sifreyi Giriniz: ");
		gets(sifre);

		/* scanf ile de alabilirdim fakat gets ile almayı tercih ettim, scanf kullanmak daha guvenlidir; gets kullandığınız zaman 4 haneli olan sifreyi 5 haneli olarak girdiğimizde gets() fonksiyonu string buyuklugunu dikkate almadıgı için programın kırılabilme riski var, gösterme amaçlı gets() kullandım*/

		if(strcmp(sifre,"1234") == 0) 
		{ 
			puts("Tebrikler, Sifre Dogru.. Yonlendiriliyorsunuz..\n\n"); 
			 /*puts() fonksiyonu printf ile aynı gorevi gorur */

			**** diziSirala(int dizi[], int N);
			**** Bul(int dizi[], int N);
			float Ortalama(int dizi[], int N);

/* program içinde yazdığım fonksiyonlar main fonksiyonunun altında kaldığı için main fonksiyonu yazdığım fonksiyonları tanımayacaktır fonksiyonları kullanabilmek için kendimiz tanıtıyoruz, fonksiyonları main fonksiyonunun üstüne aldıgınız zaman burada tanımlamanıza gerek kalmayacaktır.*/


			int N, temp, dizi[100];

			printf("Dizinin Eleman Sayisini Giriniz: ");
			scanf("%d",&N);
			printf("\n\n");

			for(int i=0; i<N; i++)
			{
				printf("Dizinin %d. elemanini giriniz: ",i+1);
				scanf("%d", &dizi[i]);
				printf("\n");
			}

			Bul(dizi,N);
			printf("\n");
			
			printf("Dizinin aritmetik ortalamasi: %.2f\n\n",Ortalama(dizi,N));

			diziSirala(dizi, N);
				
		}
		else
		{
			printf("Sifre Yanlis.. Tekrar Deneyin.\n");
			goto start;
		}

			system("pause");
}


**** diziSirala(int dizi[], int N)
{
	**** diziYazdir(int dizi[], int N);

	int *adres, temp;
	adres = dizi;

	for(int i=0; i<N-1; i++)
	{
		for(int j=i+1; j<N;j++)
		{
			if(*(adres + j) < *(adres + i))
			{
				temp = *(adres + i);
				*(adres + i) = *(adres + j);
				*(adres + j) = temp;
			}
		}
	}

	/* üst kısımda *(adres + j) ile dizi içeriğine pointer ile erişiyorum */

	diziYazdir(dizi,N);

}
**** diziYazdir(int dizi[], int N)
{
	printf("Sirali Dizi: \n\n");

	for(int i=0; i<N;i++)
	{
		printf("%d. dizi elemani: %d\n",i+1,dizi[i]);
	}	
}

**** Bul(int dizi[], int N)
{
	int eb = dizi[0];
	int *p = dizi;  /* pointer dizinin ilk elemanının adresini tutacak */
	
	for(int i = 1; i < N; i++)
	{
		if(eb < dizi[i])
		{
			eb = dizi[i];
			p = &dizi[i]; /* p dizinin i.elemanının adresini tutacak */
		}
	}

  printf("En buyuk eleman: %d\n", eb);
  printf("En buyuk elemanin adresi: %p\n",p);
}

float Ortalama(int dizi[], int N)
{
   int *k;
   float top=0, ort;
   int i;
  
   k = dizi;     /* veya k = &dizi[0]  işlemi de aynı görevi görecektir. */

   for(i=0; i<N; i++)
   {
      top += *(k+i);
   }
   ort = (top/N);
   return ort;
}
 

cor-vo

Yaşayan Forum Efsanesi
23 Tem 2013
7,985
1
122
Java ile Ağaç Yapısı

Merhaba arkadaşlar,
Bu yazıda Java ile ağaç yapısının bilinmesi gereken metotlarını göreceksiniz.


**** = v o i d (boşluksuz.)

Kod:
public class Treee {
    Node kok; 
    public Treee(){
        kok = null;
    }
    public **** ekle(int data){ //ekleme metodu
        Node x = new Node();
        x.data = data;
        if(kok == null){
            kok = x;
        }
        else{
            Node current = kok;
            Node parent;
            while(true){
                parent = current;
                if(x.data < current.data){
                    current = current.sol;
                    if(current == null){
                        parent.sol = x;
                        return;
                    }
                }
                else{
                    current = current.sag;
                    if(current == null){
                        parent.sag = x;
                        return;
                    }
                }
            }
        }
    }
    public **** delete(int key){
        Node current = kok;
        Node parent = kok;
        boolean isLeftTree = true;
        if(kok == null){
            System.out.println("Silinecek Ağaç Yok");
        }
        while(current.data != key){//sileceğimiz elemanı buluyoruz
            parent = current;
            if(key < current.data){
                isLeftTree = true;
                current = current.sol;
            }
            else{
                isLeftTree = false;
                current = current.sag;
            }
            if(current == null){
                System.out.println("Eleman Bulunamadı");
            }
        }
            if(current.sag == null && current.sol == null){ //sileceğimiz elemanın sağ ve solunda eleman yoksa
                if(current == kok){
                    kok = null;
                }
                else if(isLeftTree){
                    parent.sol = null;
                }
                else
                    parent.sag = null;
            }
            else if(current.sag == null){//sileceğimiz elemanın sağında eleman yoksa
                if(current == kok){
                    kok = parent.sol;
                }
                else if(isLeftTree){
                    parent.sol = current.sol;
                }
                else
                    parent.sag = current.sol;
            }
            else if(current.sol == null){//sileceğimiz elemanın solunda eleman yoksa
                if(current == kok){
                    kok = parent.sag;
                }
                else if(isLeftTree){
                    parent.sol = current.sag;
                }
                else
                    parent.sag = current.sag;
            }
            else{                       //sileceğimiz elemanın iki tane ****** varsa
                Node successor = getSuccessor(current);
                if(current == kok){
                    kok = successor;
                }
                else if(isLeftTree){
                    parent.sol = successor;
                }
                else{
                    parent.sag =successor;
                }
                successor.sol = current.sol;
            }
    }
    private Node getSuccessor(Node delNode) {
              Node successorParent = delNode;
              Node successor = delNode;
              Node current = delNode.sag;                       
              while(current != null){                                       
                    successorParent = successor;
                    successor = current;
                    current = current.sol; 		           
                    }
                         if(successor != delNode.sag){ 	           
                    successorParent.sol = successor.sag;
                    successor.sag = delNode.sag;
                    }
            return successor;
}

    public int arama(int data){
        Node current = kok;
        while(current != null){
            if(current.data == data){
                return data;
            }
            else if(data < current.data){
                current = current.sol;
            }
            else
                current = current.sag;
        }
        return -1111;
    }
    //preorder dolaşma
    public **** preOrder(Node kok){
        System.out.println(kok.data);
        if(kok.sol != null){
            preOrder(kok.sol);
        }
        if(kok.sag != null){
            preOrder(kok.sag);
        }
    }
    //inorder dolaşma
    public **** inOrder(Node kok){
        if(kok.sol != null){
            inOrder(kok.sol);
        }
        System.out.println(kok.data);
        if(kok.sag != null){
            inOrder(kok.sag);
        }
    }
    //postorder dolaşma
    public **** postOrder(Node kok){
        if(kok.sol != null){
            postOrder(kok.sol);
        }
        if(kok.sag != null){
            postOrder(kok.sag);
        }
        System.out.println(kok.data);
    }
}
 

cor-vo

Yaşayan Forum Efsanesi
23 Tem 2013
7,985
1
122
Merhaba Arkadaşlar, bugün basit bir şey ile daha karşınızdayım. (C# ile Rastgele Sayı Üretmek)

Yeni bir windows projesi açıyoruz.Formumuzun içine 1 adet buton, 1 adet de label bırakıyoruz.Size yardımcı olsun diye formumun tasarımını aşağıya resim olarak koyuyorum.

Formumun Tasarımı

CekilenResim_5_3.jpg


Gördüğünüz üzere formumuzda üret butonu var.Bu butonun üstüne çift tıklayarak click eventını oluşturuyoruz ve kod alanımza geliyoruz.Bunun için ihtyacımız olan metod Random metodudur.

Şimdi sıra geldi kodlarımızı açıklamaya.

Random rnd = new Random(); = Bu kod ile Random metodunu bir isime atıyoruz.
label1.Text = rnd.Next(0, 1500).ToString(); = Bu kod parçacığı ise label1'in Text'ine yeni sayıyı atıcak.rnd.Next kodu ise iki parametreden oluşur.Birinci parametre kaçtan başlıycağı, 2. parametre kaça kadar üreticeğidir.Yani rnd.Next(minimum kaçtan başlıcak, max kaça kadar üreticek).rnd.Next geriye int döndürdüğü için ToString() yaptım.

Şimdi sonucu görelim.Her butona bastığımız yeni bir sayı üreticek ve bunu label1'e yansıtıcak.

Sonuç

1.Kez butona basmamda çıkan sonuç
CekilenResim_7_3.jpg


2.Kez butona basmamda çıkan sonuç
CekilenResim_8_3.jpg
 

cor-vo

Yaşayan Forum Efsanesi
23 Tem 2013
7,985
1
122
Şimdi çağrı merkezi (switch-case) örneği yapalım.

Kod:
/* 
turkhackteam.org
corvo9394
*/

//

#include "stdafx.h"

#include <iostream>
# include<string>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

    int x;
        cout<<"Hosgeldiniz.Baglanmak istediginiz departmanimizi seciniz:"<<endl;
    cout<<"Operator icin :0"<<endl;
    cout<<"Domain icin : 1 "<<endl;
    cout<<"Hosting icin : 2"<<endl;
    cout<<"Webtasarim icin :3"<<endl;
    cout<<"Muhasebe icin :4"<<endl;

    cin>>x;

switch(x)
{
    
    case 0: 
        cout<<"Operatore bagliyorum lutfen bekleyin."<<endl;
        break;
    case 1 : 
        cout<<"Domain departmanimiza bagliyorum lutfen bekleyin."<<endl;
            break;
    case 2 :
        cout<<"Hosting departmanimiza bagliyorum lutfen bekleyin."<<endl;
        break;
    case 3:
    cout<<"Webtasarim departmanimiza bagliyorum lutfen bekleyin."<<endl;
        break;
    case 4:
        cout<<"Muhasebe departmanimiza bagliyorum lutfen bekleyin."<<endl;
        break;
    default:
        cout<<"Eksik ya da gecersiz islem yaptiniz.Lutfen tekrardan deneyiniz. "<<endl;
}
    system("pause");
    return 0;
}
 

cor-vo

Yaşayan Forum Efsanesi
23 Tem 2013
7,985
1
122
Tümleşik Geliştirme Ortamı (IDE)

Tümleşik geliştirme ortamı (İngilizce: Integrated development environment, kısaca IDE), bilgisayar programcılarının hızlı ve rahat bir şekilde yazılım geliştirebilmesini amaçlayan, geliştirme sürecini organize edebilen birçok araç ile birlikte geliştirme sürecinin verimli kullanılmasına katkıda bulunan araçların tamamını içerisinde barındıran bir yazılım türüdür.

Tümleşik geliştirme ortamlarında olması gerekli en temel özellikler:

-Programlama diline göre sözdizimi renklendirmesi yapabilen kod yazım editörü.
-Kod dosyalarının hiyerarşik olarak görülebilmesi amacıyla hazırlanmış gerçek zamanlı bir dizelge.
-Tümleşik bir derleyici, yorumlayıcı ve hata ayıklayıcı.
-Yazılımın derlenmesi, bağlanması, çalışmaya tümüyle hazır hale gelmesi ve daha birçok ek işi otomatik olarak yapabilmek amacıyla küçük inşa araçları.

En bilinen tümleşik geliştirme ortamlarına örnek olarak Eclipse, Microsoft Visual Studio, Code::Blocks, Dev-C++, Anjuta, KDevelop, NetBeans gibi ortamlar verilebilir.
 

Gr££D

Kıdemli Üye
27 Haz 2013
2,468
0
Monte Viere
Yazilimcilar gunumuzun sihirbazlaridir bana gore hemen her teknoloji alette her turlu yerde hatta bazen oyle yerlerdedirlerki akliniza bile gelmez.Bence proaglama ogrenmek sadece yazilimcilarin isi olmamali hemen her insanin bilmesi ve sahip olmasi gereken bir yetenek olarak goruyorum bana gore bisiklet surmek , yuzmeyi ogrenmek veya araba kullanmak kadar yararli bilgisayar ve teknoloik aletlerle zaman harcayan herkes en az 1 kere acaba bu alet nasil calisiyor diye sormustur .Merakina yenik dusen arastirmaci zihinler mutlaka tasinismistir programlama ile dedigim gibi her insan sahip olmasi gerekn bir beceri bana kalirsa en azindan ufak captada olsa birkac bisey bilmenin gerektigini düşünüyorum ama neden cunku programla insalara farkli pencerelerden bakmayi, sistemli dusunmeyi hayatlarinda gorduklerinin aslinda gorunen den cok farkli oldugunu ogretir benim burda kastetigim mühendisler vs kadar bu isin icinde olmak degil hani bu eglenceli ve zevkkli ugrasi herkesin tatmasi gerektigidir.

Youtubedaki su videodu izlemnizdede yarar vardir. http://m.youtube.com/watch?v=s8KSA78p3bo
 

cor-vo

Yaşayan Forum Efsanesi
23 Tem 2013
7,985
1
122
Java Stack ile Örnek Çalışmalar-1

Merhaba arkadaşlar,

Bu derste Java'da stack sınıfını örnekler aracılığıyla anlamaya çalışalım.

Soru: Düğüm yapısını kullanan bir S yığıtını, değeri 12260035’tan küçük olan düğümleri küçük yığıtına, büyük olanları büyük yığıtına taşıyan bir metod yazınız.

Cevap:


Kod:
[B]public class Stackb {
    public Node top = null;
    public int size = 0;
    
    public **** push(Node newNode){
        newNode.link = top;
        top = newNode;
        size++;
    }
    public Node pop(){
        Node temp = null;
        if(top == null){
            System.out.println("Yığıt Boş");
        }
        else{
            temp = top;
            top = top.link;
        }
        size--;
        return temp;
    }
    public Node peek(){
        if(top == null){
            System.out.println("Yığıt Boş");
            return top;
        }
        else
            return top;
    }

public class FinalExamEx {

    
    public static **** main(String[] args) {
        Stackb s = new Stackb(); // öğrenci listemiz
        Stackb kücük = new Stackb(); //12260035 den küçük numaralı öğrencilerin tutulacağı liste
        Stackb büyük = new Stackb(); //12260035 den büyük numaralı öğrencilerin tutulacağı liste
        s.push(new Node(12260033, "Ziya", "Özçelik"));//öğrenci listemize öğrenci ekliyoruz
        s.push(new Node(12260045, "Barış", "Gül"));
        s.push(new Node(12260020, "Ozan", "Kara"));
        s.push(new Node(12260082, "Semih", "Tekin"));
        
        while(s.top != null){ //öğrenci listemizin son baştaki elemanı null olana kadar döngü devam eder
            Node temp = s.pop(); //öğrenci listemizin ilk elemanını alıp boş bir düğüme atıyoruz
            if(temp.no < 12260035){ // öğrencinin numarası 12260035 den küçükse küçük listesine
                kücük.push(temp);
            }
            else                    // eğer büyükse büyük listesine ekliyoruz
                büyük.push(temp);
        }
    }
    
}[/B]
--------

Arkadaşlar bu paylaşımın altından size bir not bırakmak istiyorum, bir kaç arkadaşımız dışında kimse kulübe gereken ilgiyi göstermiyor. Bu kulüp sadece paylaşım için olsaydı, programlama bilmeyen arkadaşlarımız boş kalırlardı. Ancak bu kulüp aynı zamanda konuşma/tartışma ortamıdır. Bir konu hakkında başkalarının görüşlerini de alabilirsiniz.
 

Gr££D

Kıdemli Üye
27 Haz 2013
2,468
0
Monte Viere
Kulube ilgi cekme icin java classlarin c# stacklarindan bahsetmek yerine daha ilgi cekecek nasil yapilir paylasimlari yapmak daha mantikli sanki
 

MaskHacker

Uzman üye
14 Eki 2013
1,531
3
C:/
Arge Eğitim Kampında Sabitte Yararlı Olabilecek Bir Konudur.
Kod:
http://www.turkhackteam.org/ar-ge-egitim-kampi/1070650-c-programlama-dersleri-maskhacker.html

İçeriği aşağıdadır kolay ulaşım isterseniz yukarıdaki linkten girebilirsiniz.

http://www.turkhackteam.org/c-c/1071037-programlama-nedir-maskhacker.html#post4384711

http://www.turkhackteam.org/c-c/1070195-c-programlama-dersi-i-makale-maskhacker.html

http://www.turkhackteam.org/c-c/1070436-c-programlama-dersi-ii-makale-maskhacker.html#post4382605

http://www.turkhackteam.org/c-c/1070649-c-programlama-dersi-iii-makale-maskhacker.html#post4383531

http://www.turkhackteam.org/c-c/1071004-c-programlama-dersi-iv-makale-maskhacker.html#post4384558

http://www.turkhackteam.org/c-c/1071249-c-programlama-dersi-v-makale-maskhacker.html#post4385355

http://www.turkhackteam.org/c-c/1071392-c-programlama-dersi-vi-makale-maskhacker.html#post4385726

http://www.turkhackteam.org/c-c/1071766-c-programlama-dersi-vii-makale-maskhacker.html#post4386572

http://www.turkhackteam.org/c-c/1071805-c-programlama-dersi-viii-makale-maskhacker.html#post4386724

http://www.turkhackteam.org/c-c/1072074-c-programlama-dersi-ix-makale-maskhacker.html#post4387883

http://www.turkhackteam.org/c-c/1073243-c-programlama-dersi-x-makale-maskhacker.html#post4393178

http://www.turkhackteam.org/c-c/1073293-c-programlama-dersi-xi-makale-maskhacker.html#post4393436

http://www.turkhackteam.org/c-c/1073333-c-programlama-dersi-xii-makale-maskhacker.html#post4393677

http://www.turkhackteam.org/c-c/1073701-c-programlama-dersi-xiii-makale-maskhacker.html#post4395101

http://www.turkhackteam.org/c-c/1073757-c-programlama-dersi-xiv-makale-maskhacker.html#post4395412

http://www.turkhackteam.org/c-c/1075265-videolu-c-c-dersleri-maskhacker.html#post4400911

http://www.turkhackteam.org/c-c/1076449-c-dersleri-dev-video-arsivi-maskhacker.html#post4405734

http://www.turkhackteam.org/diger-p...ramlama-dili-nasil-ogrenilir.html#post4422156
 

MaskHacker

Uzman üye
14 Eki 2013
1,531
3
C:/
Baloncuk Döngü

Kod:
#include<iostream.h>
#include<conio.h>
#include<algorithm>

 template <class T>

 **** swap (T& a, T& b);
 {
 }

Rogue Wave Standard C++ Library User's Guide and Tutorial
const N=6;

main ()

{
int i,j;
int temp;
int number[N];

for (i=0;i<N;i++)
{
 cout<<" enter " <<i<< "  number :"<<endl;
 cin >>number[i];
 cout<<endl;
}

for (i=0;i<N-1;i++)
for (j=i+1;j<N;j++)
if (number [i]<number [j])
{
temp=number[i];
number[i]=number[j];
number[j]=temp;
swap(number[i],number[j];
}
for (i=0;i<N;i++)
cout<<number[i]<<" ";
getch();

}
 

MaskHacker

Uzman üye
14 Eki 2013
1,531
3
C:/
Belli bir sayıya kadar olan asal sayıları bulmak

Kod:
#include <stdio.h>

int main ()
{   
        int a, b, c, d;

        printf (" Bir sayi giriniz : ");
        scanf  (" %d", &a);

        // Buradaki b, asal olup olmadığı araştırılacak olan sayıdır.
        for (b = 2; b < a; b ++)
        {
          d = 1;
               for (c = 2; c < b; c ++)
               {
                  // Sayı 2'den başlanarak kendisine kadar olan tüm tamsayılara
                  // sırayla bölünüyor. Tam bölen bir sayıya raslandığında
                  // sayının asal sayı olmadığı anlaşılıyor ve bir sonraki
                  // sayıyı denemek için döngü kesiliyor. Bu arada, bu sayının
                  // asal olamadığını anlamatmak için d'nin değeri 0 yapılıyor.

                  if (b % c == 0)
                  {
                    d = 0;

                    break;
                  }
          }

          // Burada iki ihtimal vardır. d == 0 ya da d == 1.
          // b'nin asal olmadığı anlaşıldığında d'nin değeri 0 yapılmıştı.
          // Aksi takdirde d'nin değeri bir kalır ve bu bize sayının asal
          // olduğunu anlatır.

          if (d == 1) printf (" %d \n", b );
     
          // Dögü bir sonraki sayının asal olup olmadığını anlamak için
          // tekrar dönecektir. Bu nedenle d'nin değeri döngünün başında
          // tekrar 1 yapılıyor.
        }

        return 0;
}
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.