Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > veri yapıları but
Yazar
ozerozkn


avatar

banlandı
Kayıt: 12.02.2006
14.02.2008-02:01 #38053
akgulozkan yazdi
 
kayalik yazdi
 
Herkese kolay gelsin.Bi yerlere konulmuştur belki buralarda ve hemen herkeste vardır kesin ama ödev/sınavda göremedim,adminlere de ulaşamadım.Lazım olur belki..Geçen yılın büt soruları_ne tesadüf ki tarih yine 14.02:)

1-Oluşturulmuş bir tek bağlı listeyi tersine çeviren bir alt program yazınız.(30p)
2-Girilen iki ağacı birleştiren bir alt program yazınız.(35p)
3-"veri.dat" isimli bir dosya içerisinde kişi adı ve boy ölçüsü bulunmaktadır.Boy değerlerini dosyadan okuyup kabarcık sıralama yöntemine göre sıraya dizen ve sonucu ekrana yazan bir program yazınız.(35p)


bu ne yaabeat upbeat up ben bu sorularla kalırımclownclown


Arkadaşlar panik yapmayın altuko uyandı şimdi 20 dkya yapar





Yazar
altuko


avatar

banlandı
Kayıt: 05.02.2006
14.02.2008-02:07 #38055
ozerozkn yazdi
 
akgulozkan yazdi
 
kayalik yazdi
 
Herkese kolay gelsin.Bi yerlere konulmuştur belki buralarda ve hemen herkeste vardır kesin ama ödev/sınavda göremedim,adminlere de ulaşamadım.Lazım olur belki..Geçen yılın büt soruları_ne tesadüf ki tarih yine 14.02:)

1-Oluşturulmuş bir tek bağlı listeyi tersine çeviren bir alt program yazınız.(30p)
2-Girilen iki ağacı birleştiren bir alt program yazınız.(35p)
3-"veri.dat" isimli bir dosya içerisinde kişi adı ve boy ölçüsü bulunmaktadır.Boy değerlerini dosyadan okuyup kabarcık sıralama yöntemine göre sıraya dizen ve sonucu ekrana yazan bir program yazınız.(35p)


bu ne yaabeat upbeat up ben bu sorularla kalırımclownclown


Arkadaşlar panik yapmayın altuko uyandı şimdi 20 dkya yapar


tek bağlıyı tersine çeviren program......
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


struct TekBagli
{
	char name[20];
	struct TekBagli *next;
};


typedef struct TekBagli Tekbagli;
typedef struct TekBagli* TekBagliPtr;

void insertTekBagli(TekBagliPtr *tekStart,char *Tname)
{
	if((*tekStart) == NULL)
	{
		(*tekStart) = (TekBagliPtr)malloc(sizeof(TekBagli));
		strcpy((*tekStart)->name,Tname);
		(*tekStart)->next = NULL;
	}
	else
		insertTekBagli(&((*tekStart)->next),Tname);
}

void insertTekBagliTersine(TekBagliPtr *tekStart,char *name)
{
	TekBagliPtr newPtr;

	newPtr = (TekBagliPtr)malloc(sizeof(TekBagli));
	strcpy(newPtr->name,name);
	newPtr->next = (*tekStart);
	(*tekStart) = newPtr;
}
	

void printTekBagli(TekBagliPtr tekStart)
{
	if(tekStart != NULL)
	{
		printf("%s->",tekStart->name);
		printTekBagli(tekStart->next);
	}
}

void TersineCevir(TekBagliPtr start1,TekBagliPtr *start2)
{
	while(start1 != NULL)
	{
		insertTekBagliTersine(start2,start1->name);
		start1 = start1->next;
	}
}


	



int main()
{
	TekBagliPtr tekStart1 = NULL;//tek bağlı listenin başlangıç adresi...
	TekBagliPtr tekStart2 = NULL;//
	int kayitSayisi;
	char ad[20];

	printf("Kac tane kayit girmek istiyorsunuz....
");
	scanf("%d",&kayitSayisi);
	flushall();
	for(int i = 0;i < kayitSayisi;i++)
	{
		printf("%d-->isim..
",i+1);
		gets(ad);
		flushall();
		insertTekBagli(&tekStart1,ad);
	}
	printf("
***************************
");
	printTekBagli(tekStart1);
	printf("NULL");
	TersineCevir(tekStart1,&tekStart2);
	printf("
***************************
");
	printTekBagli(tekStart2);
	printf("
***************************
");

	return 0;

}








Yazar
nesibe


avatar

Kayıt: 10.02.2006
14.02.2008-02:17 #38056
tuuba yazdi
 
1. sorunun taramalarını ben de linkte verildiği gibi buldum,orta yolu buksak??????



evt bu sefer kesinlikle eminim linkte verilen hali doğru





kalpler bir, yetmez mi?

Yazar
altuko


avatar

banlandı
Kayıt: 05.02.2006
14.02.2008-02:24 #38057
ozerozkn yazdi
 
akgulozkan yazdi
 
kayalik yazdi
 
Herkese kolay gelsin.Bi yerlere konulmuştur belki buralarda ve hemen herkeste vardır kesin ama ödev/sınavda göremedim,adminlere de ulaşamadım.Lazım olur belki..Geçen yılın büt soruları_ne tesadüf ki tarih yine 14.02:)

1-Oluşturulmuş bir tek bağlı listeyi tersine çeviren bir alt program yazınız.(30p)
2-Girilen iki ağacı birleştiren bir alt program yazınız.(35p)
3-"veri.dat" isimli bir dosya içerisinde kişi adı ve boy ölçüsü bulunmaktadır.Boy değerlerini dosyadan okuyup kabarcık sıralama yöntemine göre sıraya dizen ve sonucu ekrana yazan bir program yazınız.(35p)


bu ne yaabeat upbeat up ben bu sorularla kalırımclownclown


Arkadaşlar panik yapmayın altuko uyandı şimdi 20 dkya yapar


2 ağacı birleştiren program..
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

struct Tree
{
	int number;
	struct Tree *left;
	struct Tree *right;
};

typedef struct Tree Tree;
typedef Tree* TreePtr;

void insertTree(TreePtr *treePtr,int data)
{
	if((*treePtr) == NULL)
	{
		(*treePtr) = (TreePtr)malloc(sizeof(Tree));
		(*treePtr)->number = data;
		(*treePtr)->left = NULL;
		(*treePtr)->right = NULL;
	}

	else
	{
		if((*treePtr)->number > data)
			insertTree(&((*treePtr)->left),data);
		else
			insertTree(&((*treePtr)->right),data);
	}
}
void DLR(TreePtr treePtr)
{
	if(treePtr != NULL)
	{
		printf("%d->",treePtr->number);
		DLR(treePtr->left);
		DLR(treePtr->right);
	}
}

void birlestir(TreePtr sPtr1,TreePtr *sPtr2)
{
	if(sPtr1 != NULL)
	{
		insertTree(sPtr2,sPtr1->number);
		birlestir(sPtr1->left,sPtr2);
		birlestir(sPtr1->right,sPtr2);
	}
}

int main()
{
	TreePtr kokPtr1 = NULL;
	TreePtr kokPtr2 = NULL;

	srand(time(0));
	for(int i=0;i<5;i++)
		insertTree(&kokPtr1,(rand() % 20) + 1);
	for(i=0;i<5;i++)
		insertTree(&kokPtr2,(rand() % 20) + 1);
	DLR(kokPtr1);
	printf("NULL");
	printf("
***********************
");
	DLR(kokPtr2);
	printf("NULL");
	printf("
***********************
");
	birlestir(kokPtr1,&kokPtr2);
	DLR(kokPtr2);
	printf("NULL");
	printf("
***********************
");


	return 0;
}







Yazar
nesibe


avatar

Kayıt: 10.02.2006
14.02.2008-02:25 #38058
altuko yazdi
 
...


valla bravo
ayrıca teşekkürler





kalpler bir, yetmez mi?

Yazar
altuko


avatar

banlandı
Kayıt: 05.02.2006
14.02.2008-02:59 #38061
Bu da son soru.....

#include <stdio.h>
#include <stdlib.h>

struct Person
{
	char ad[20];
	int boy;
};
FILE *file;

void addRec()
{
	Person person;

	printf("AD:
");
	gets(person.ad);
	flushall();
	printf("BOY:
");
	scanf("%d",&person.boy);
	flushall();
	fseek(file,0,SEEK_END);
	fwrite(&person,sizeof(Person),1,file);

}

void bubbleSort(int size)
{
	Person per1;
	Person per2;

	for(int i=0;i<size-1;i++)
		for(int j=0;j<size-1-i;j++)
		{
			fseek(file,sizeof(Person)*j,SEEK_SET);
			fread(&per1,sizeof(Person),1,file);
			fseek(file,sizeof(Person)*(j+1),SEEK_SET);
			fread(&per2,sizeof(Person),1,file);
			if(per1.boy > per2.boy)
			{
				fseek(file,sizeof(Person)*j,SEEK_SET);
				fwrite(&per2,sizeof(Person),1,file);
				fseek(file,sizeof(Person)*(j+1),SEEK_SET);
				fwrite(&per1,sizeof(Person),1,file);
			}
		}
}

void listRec()
{
	Person person;

	printf("
**************
");
	fseek(file,0,SEEK_SET);
	while(fread(&person,sizeof(Person),1,file) > 0)
	{
		printf("AD->%s
",person.ad);
		printf("BOY->%d
",person.boy);
	}
	printf("
**************
");
}
int main()
{

	int kayitSayisi;

	file = fopen("musteri.txt","w+b");
	if(file == NULL)
	{
		printf("Dosya acilamadi..
");
		exit(1);
	}
	printf("kac kayit girmek istersiniz...
");
	scanf("%d",&kayitSayisi);
	flushall();
	for(int i=0;i<kayitSayisi;i++)
		addRec();
	listRec();
	bubbleSort(kayitSayisi);
	listRec();

	return 0;

}
			

			
			
	








Yazar
akgulozkan


avatar
istanbul
Kayıt: 12.12.2006
14.02.2008-15:55 #38102
facebookta altuko hayranları die grup açıcamlaughing laughing altuko sağolasın ama geç oldu yaaclown o saatte uyuyodum ve sanırım bugün kaldım clownclownblushing tongue tongue not talkingnot talking d ohd ohd ohd ohd ohd ohd oh





Yazar
altuko


avatar

banlandı
Kayıt: 05.02.2006
14.02.2008-16:06 #38103
akgulozkan yazdi
 
facebookta altuko hayranları die grup açıcamlaughing laughing altuko sağolasın ama geç oldu yaaclown o saatte uyuyodum ve sanırım bugün kaldım clownclownblushing tongue tongue not talkingnot talking d ohd ohd ohd ohd ohd ohd oh


Çok teşekkürler saol..ama inş geçersin.yani inş geçeriz..





Yazar
serdar5


avatar

Kayıt: 12.02.2006
14.02.2008-16:10 #38104
evet altuko ya ve okana çok teşekkürler ,sayelerinde bir beladan daha kurtuldum inşallahapplause





Kanit gösterilmeden yapilmis bir iddiayi çürütmek için kanita ihtiyaç yoktur
1 2 3 4 5 6 7 8
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb