HACK TÜRKS


 
AnasayfaSSSAramaÜye ListesiKullanıcı GruplarıKayıt OlGiriş yap

Paylaş | 
 

 Veri Yapıları- Stack(yığın)Yapısı

Önceki başlık Sonraki başlık Aşağa gitmek 
YazarMesaj
Admin [TEZOoO]
ADMİN - YÖNETİCİ
ADMİN - YÖNETİCİ
avatar

Mesaj Sayısı : 380
NERDEN : İstanbul/Sefaköy
Kayıt tarihi : 14/09/08

Kişi sayfası
Rep Puanı:
50000000/0  (50000000/0)

MesajKonu: Veri Yapıları- Stack(yığın)Yapısı   Salı Eyl. 16, 2008 10:28 am

Yiğin oluşturup gelen bilgiyi (integer) yıgına atıp çıkartma işlemlerini gerçekleştiren program.(çift slaşla altta kapatılmış olan kodlar infix postfix içindir)#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "string.h"
#include"time.h"
static int i;
typedef struct Yigin
{
int indis;
int eleman[100];
}Yigin_Kumesi;

int get_option(****);


Yigin_Kumesi *Yigin_Olustur() // Kurucu Metod Tanimlamasi
{
Yigin_Kumesi *Yeni_Yigin;
Yeni_Yigin=(Yigin_Kumesi*)malloc(sizeof(Yigin_Kume si));
Yeni_Yigin->indis=-1;
return Yeni_Yigin; // Tanimlama Bitti
}



int Yigin_Dolumu(Yigin_Kumesi *Yeni_Yigin)
{
if(Yeni_Yigin->indis>99)
{
puts("Yigin Dolu...");
return -1; // Yigin Dolu
}
else
return 0; // Yigin Bos
}

int Yigin_Bosmu(Yigin_Kumesi *Yeni_Yigin) // ???? SOR SOR ????
{
if(Yeni_Yigin->indis<0)
{
puts("Yigin Bos ...");
return -1;
}
else
//puts("Yigin Bos Degil!!!...");
return 0;
}

int Yigina_Ekle(Yigin_Kumesi *Yeni_Yigin,int ekle)
{

if(Yigin_Dolumu(Yeni_Yigin)==-1)
{
printf("Yigin Dolu...");
return -1;
}
else
{
Yeni_Yigin->indis++;
Yeni_Yigin->eleman[Yeni_Yigin->indis]=ekle;
printf("yigina eleman eklendi\n");
return 0;
}
}


int Yigindan_Cek(Yigin_Kumesi *Yeni_Yigin)
{
int cikan_eleman;
if(Yigin_Bosmu(Yeni_Yigin)<0)
{
printf("Yigin Bos!");
return -1;
}
else
{
cikan_eleman=Yeni_Yigin->eleman[Yeni_Yigin->indis];
Yeni_Yigin->indis--;

printf("%d sayisi sigindan cikarildi",cikan_eleman);
return 1;
}
}

int get_option(****)
{
char input[20];
int option;

printf("\n*******MENU*******\n");
printf("[1] LISTELE\n");
printf("[2] AL\n");
printf("[3] AT\n");
printf("[4] CIK\n");
printf("Secenek :... ");
fflush(stdin);
//gets(input);
scanf("%s",input);

option = atoi(input);
return option;
}


int Yigini_listele()
{

Yigin_Kumesi *Yeni_Yigin;

int sayac;

if(Yeni_Yigin->indis==-1){

printf("yigin su an için bos\n");

exit(0);}

for(sayac=0;sayac<=Yeni_Yigin->indis;sayac++){



printf("%d\n",Yeni_Yigin->eleman[sayac]);

}



}





int main() {
int ekle;


int option;
while(1) {
option = get_option();
switch(option)
{
case 1 : Yigini_listele(); break;
case 2 : printf("lutfen eklenecek sayiyi giriniz\n"); scanf("%d",&ekle); Yigina_Ekle(Yigin_Olustur(),ekle); break;
case 3 : Yigindan_Cek(Yeni_Yigin); break;
case 4 : printf("\nProgram sonlandirildi\n"); return 0;
default : printf("\nSecmis oldugunuz secenek gecersiz\n");
}
}

getch();

} //by M.KAPLAN
//############################################3
/*int Parantez_Kontrol(Yigin_Kumesi *Yeni_Yigin,char *islem) {

int i; //(2+3*(2-5)

for(i=0;i
if (islem[i]=='(') Yigina_Ekle(Yeni_Yigin,islem[i]);

else {

if (islem[i]==')')
if (Yigin_Bosmu(Yeni_Yigin)==-1)

return -1;

else Yigindan_Cikar(Yeni_Yigin);

}

if(Yigin_Bosmu(Yeni_Yigin)==-1)

return 0;

else return 1;

}

}*/
//##############################3
/*
**** cevir_10_2(Yigin_Kumesi *Yeni_Yigin,int sayi) {

int dijit;

while(sayi>0) {

dijit=sayi%2;
Yigina_Ekle(Yeni_Yigin,dijit);

sayi=sayi/2;

}

while(Yeni_Yigin->indis>=0) {

dijit=Yigindan_Cikar(Yeni_Yigin);

yaz("%d",dijit);

}

}



*/

_________________

Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://hackturks.turkforumpro.com
 
Veri Yapıları- Stack(yığın)Yapısı
Önceki başlık Sonraki başlık Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Giriş/Çıkış(I/O) Birimi ve Yapısı

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
HACK TÜRKS :: Programlama :: C/C++-
Buraya geçin:  
SİTENİ REKLAM VER (BEDAVA)
HACK TÜRKS
Siteni Ekle
Siteni Ekle
Siteni Ekle
Siteni Ekle
Siteni Ekle
Siteni Ekle
Siteni Ekle
Siteni Ekle

BÜYÜK YERİMİZ..!!!
Yeni bir forum kurmak | © phpBB | Bedava yardımlaşma forumu | Suistimalı göstermek | Ücretsiz blogunuzu yaratın