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


avatar

banlandı
Kayıt: 05.02.2006
03.02.2008-00:27 #36901
Arkadaşlar veri yapıları için index,graph...vs konularını içeren bir e-book yada internet adresi bilen bilen var mı?





Yazar
emracekic


avatar
adana
Kayıt: 21.01.2006
04.02.2008-09:38 #37039
arkadaslar okula giden yokmu bugun pazartesi veriyapılari ve yoneylem aciklandimi bi baksaniz





emra çekiç



Yazar
watthana


avatar
uzayli
Kayıt: 02.02.2007
04.02.2008-13:12 #37056
hala açıklanmadı mı yawwwwwwwwwwwwwwwwwwwwwwwwww....!!!!!!!!!!!!!!!!111





ASIKSAN YARE,
ALDANMA AGYARE...

Yazar
emracekic


avatar
adana
Kayıt: 21.01.2006
04.02.2008-13:26 #37062
acıklandı ama fotograf cekece adam lazım





emra çekiç



Yazar
aydinsal


avatar

Kayıt: 22.07.2007
04.02.2008-13:35 #37064
hayrına bir arkadaş çeksede bizde baksak ne not aldığımıza. Zaten pek umutlu değilim ama yinede insan merak ediyor.worried





Yazar
watthana


avatar
uzayli
Kayıt: 02.02.2007
04.02.2008-13:43 #37065
aydinsal yazdi
 
hayrına bir arkadaş çeksede bizde baksak ne not aldığımıza. Zaten pek umutlu değilim ama yinede insan merak ediyor.worried


aynen yaw...beat up





ASIKSAN YARE,
ALDANMA AGYARE...

Yazar
guvendh


avatar
Rize
Kayıt: 26.02.2006
05.02.2008-18:32 #37194
Finaldeki 4. Sorunun cevabı.
Daha önce iucoders'ta bi kod görmüştüm onu sınav sorusuna uyarladım.
Yanlışlıklar olabilir...
#include<stdio.h>
#include<errno.h>
#include<stdlib.h>
#include<string.h>

FILE *dosya; 
typedef struct veriyapi { 
int deger; 
char isim[20];
char soyisim[20];
} veri; 

veri* GetVal(FILE *dosya, int kayit) {
	veri *temp = (veri *) malloc(sizeof(veri));
	fseek(dosya, kayit * sizeof(veri), SEEK_SET);
	fread(temp, sizeof(veri), 1, dosya);
	return temp;
}

void SetVal(FILE *dosya, int kayit, veri *ptr){
	fseek(dosya, kayit * sizeof(veri), SEEK_SET);
	fwrite(ptr, sizeof(veri), 1, dosya);
}

void Swap(FILE *dosya, int kayit1, int kayit2){
	veri *ptr1;
	veri *ptr2;

	ptr1 = GetVal(dosya, kayit1);
	ptr2 = GetVal(dosya, kayit2);

	SetVal(dosya, kayit2, ptr1);
	SetVal(dosya, kayit1, ptr2);
}

void PrintScr(FILE *dosya, int boyut){
	int i;
	veri *ptr;
	for (i = 0; i < boyut; i++)
	{
		ptr = GetVal(dosya, i);
		printf("%d %s %s
",ptr->deger, ptr->isim, ptr->soyisim);
	}
}

void BubbleSort(FILE *dosya, int boyut){
	int i, j;
	veri *ptr1;
	veri *ptr2;

	for (i = boyut; i > 1; --i)
	{
		for (j = 0; j < i - 1; j++)
		{
			ptr1 = GetVal(dosya, j);
			ptr2 = GetVal(dosya, j + 1);

			if(ptr1->deger > ptr2->deger)
			{
				Swap(dosya, j, j + 1);
				PrintScr(dosya, boyut);
				printf("
");
			}
		}
	}
}
			

int main(){
	veri * data = (veri *) malloc( sizeof( veri ));
	int boyut = 6;

	dosya = fopen("veri.dat", "r+");
	if(errno == ENOENT)
	{
		dosya = fopen("veri.dat", "w+");
		
		data->deger = 6;
		strcpy(data->isim,"Guven6");
		strcpy(data->soyisim,"DH6");
		fwrite (data, sizeof(veri), 1, dosya);

		data->deger = 2;
		strcpy(data->isim,"Guven2");
		strcpy(data->soyisim,"DH2");
		fwrite (data, sizeof(veri), 1, dosya);

		data->deger = 4;
		strcpy(data->isim,"Guven4");
		strcpy(data->soyisim,"DH4");
		fwrite (data, sizeof(veri), 1, dosya);

		data->deger = 1;
		strcpy(data->isim,"Guven1");
		strcpy(data->soyisim,"DH1");
		fwrite (data, sizeof(veri), 1, dosya);

		data->deger = 5;
		strcpy(data->isim,"Guven5");
		strcpy(data->soyisim,"DH5");
		fwrite (data, sizeof(veri), 1, dosya);

		data->deger = 3;
		strcpy(data->isim,"Guven3");
		strcpy(data->soyisim,"DH3");
		fwrite (data, sizeof(veri), 1, dosya);
	
		fclose(dosya);

		dosya = fopen("veri.dat", "r+");
	}

	
	PrintScr(dosya, boyut);
	printf("
*****************************
");

	BubbleSort(dosya, boyut);

	PrintScr(dosya, boyut);
	fclose(dosya);
	system("PAUSE");

	return 0;
}






Yazar
altuko


avatar

banlandı
Kayıt: 05.02.2006
06.02.2008-00:39 #37217
Bu soruların yapılması için verilen süre çok kısa.Bilgisayar başında bile saatler alabiliyor.Çok hakim olmak lazım.





Yazar
deadday


avatar

Kayıt: 22.09.2007
06.02.2008-00:47 #37218
ya derse (aşırı derecede) hakim olacaksın ya da kopyaya biraz hakim olacaksınbiggrin (sakın çekmeyin!)





sesiiiniii duuysaaam yeteeer
Yazar
reccae


avatar
istanbul
banlandı
Kayıt: 15.02.2006
06.02.2008-00:52 #37219
ilk 2 soru 5 dakikada çıkıyordu. 3. soruda 2 ekleme 1 okuma fonksiyonu yazcaktık. 5. soruda sadece loop olup olmadığını kontrol eden 1 fonksiyon yazacaktık.

bu 4 soru sanırım 1 saat içinde çözülebilir. 4. soru için bişey diyemiycem elimi bile vurmadım biggrin

hoca komple kod yerine fonksiyonu isteyince işler kolaylaşıyor, ama zor bir program tek başına en az 1 saat yer beat up

14 şubatta veri yapıları sınavı bi değişik olacak clown





insa ettigim binanin cimentosu kelâm

Yazar
altuko


avatar

banlandı
Kayıt: 05.02.2006
06.02.2008-01:14 #37221
4. soru nasıl yapılabilir,fikri olan varmı.sonuçta dosyadan sicilno alanlarını tespit edip,sonra onları buffer 'a flan mı atcaz.fgets fonksiyonu ile?baya zor gibi görünüyor??





Yazar
reccae


avatar
istanbul
banlandı
Kayıt: 15.02.2006
06.02.2008-03:11 #37242
altuko yazdi
 
4. soru nasıl yapılabilir,fikri olan varmı.sonuçta dosyadan sicilno alanlarını tespit edip,sonra onları buffer 'a flan mı atcaz.fgets fonksiyonu ile?baya zor gibi görünüyor??


ilk kayıtıı okuyup geçici struct'ına atacaksın değişkenleri (ad soyad sicilno falan).
daha sonra 2. kayıttaki sicilnoya bakıp değişmesi gerekiyor mu diye kıyaslayacaksın, değişmesi gerekiyorsa değiştirip ilerleyeceksin, aynı işlemi 2. ve 3. satır arasında yapacaksın.


tabi değiştirme algoritmasına göre 2 kayıtı nasıl değiştireceğin değişebilir. bide guvendh cevabı yazmış. çalışmıyor mu o kod biggrin





insa ettigim binanin cimentosu kelâm

Yazar
guvendh


avatar
Rize
Kayıt: 26.02.2006
08.02.2008-19:59 #37440
 
1.Ekrandan girilen bir veriyi indekslenmiş tanımlayıcı dosya içinde bulan program parçasını yazınız.
2.Ekrandan girilen veriye uygun olan kayıtları listeleyen program modülü
3.Kabarcık sıralama algoritmasını kullanarak “veri.dat” dosyaları sıralı hale getiren program
4.Anahtar alan bilgilerini bir ağaç üzerine yerleştirerek indeks oluşturun
5.Verilen bir ikli ağaç üzerindeki verileri bir çift bağlı listeye aktarınız.
6.Verilen bir ağacı iplikli ikili ağaç haline dönüştürünüz.
7.Ekrandan girilen veriyi tersine dosya yapısına uygun olarak indeks oluşturacak şekilde kurulmuş olan dosya yapısına ekle.


Arkadaşlar burada bahsi geçen 'indexlenmiş tanımlayıcı dosya' ve 'tersine dosya yapısı' nasıl oluyor. Bilginiz var mı?

Bide 6. sorunun kodunu mu istiyor? Zira ben daha kağıt üzerinde yapamıom onu beat updancing





Yazar
altuko


avatar

banlandı
Kayıt: 05.02.2006
08.02.2008-20:53 #37444
Valla indeks le ilgili 3 gündür araştırma yapıyorum.ama hiç bir kaynak bulamadım.





Yazar
engineer58


avatar

Kayıt: 16.03.2006
08.02.2008-21:22 #37445
hocayla konuştum bu gün *1 soru verilen sayıları ağaca yerleştirmeden (finalde vardı) 1 tane
*veri yapıları aktarma(2li ağaçtan tekbağlıya,çiftbağlıdan tek bağlıya .....)gibi 1 yada 2 soru
*dosya okuma yazma 4. sorudaki gibi 1 yada iki soru
*bir de ldr dlr gibi ağaç örnekleri üzerinde yapılan örneklerden yada 2li ağaca verilen ağaçtan değer geçme(sınavda olduğu gibi ağaç üzerinde yapılan herhengi bir soru olabilir) soru seçeneklerinden 1 tane gelecek.





1 2 3 4 5 6 7 8
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb