Yazar |
|
akgulozkan
istanbul
Kayıt: 12.12.2006 |
|
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 yaa ben bu sorularla kalırım
|
|
Yazar |
|
audtou
malatya
Kayıt: 31.08.2006 |
|
nesibe yazdi | peki program sorularında yapılar ve asıl istenen fonksiyon dışında bütün program yazılacak mı yoksa mesela sadece struct lar ve void CİftToTek (...;) şeklinde mi yapmalıyız.yani tamamını yazmazsak eksik puan mı alırız acaba? |
sadece yapıyı ve gerekli fonksiyonları yazsan yeter galiba.Fazladan fonksiyonlar gerekebilir mesela tek bağlıya ekleme fonksiyonu vs. bunlarıda yazarsın.Tamamını yazmaya gerek yok
bitiyo lan!
|
|
Yazar |
|
nesibe
Kayıt: 10.02.2006 |
|
audtou yazdi | nesibe yazdi | peki program sorularında yapılar ve asıl istenen fonksiyon dışında bütün program yazılacak mı yoksa mesela sadece struct lar ve void CİftToTek (...;) şeklinde mi yapmalıyız.yani tamamını yazmazsak eksik puan mı alırız acaba? |
sadece yapıyı ve gerekli fonksiyonları yazsan yeter galiba.Fazladan fonksiyonlar gerekebilir mesela tek bağlıya ekleme fonksiyonu vs. bunlarıda yazarsın.Tamamını yazmaya gerek yok |
teşekkürler
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 soruların cevaplarını yapabilenlerden yardım bekliyoruz
3. soru finaldeki gibi yani farklı değil ama diğerleri?
kalpler bir, yetmez mi?
|
|
Yazar |
|
akgulozkan
istanbul
Kayıt: 12.12.2006 |
|
1. soruda yeni bir liste oluşturarak yaparsak kolay olabilir ama bellekteki elemanların yerleri değiştirmeden listeyi değiştirmek biraz daha zor gibi
|
|
Yazar |
|
tuuba
Bursa
Kayıt: 22.01.2007 |
|
http://img186.imageshack.us/my.php?image=adsz1ex6.png
İlk sayfada verilen 1.sorunun cevabı
DLR,LDR....taramaları daha farklı yapılmış....Hangisi doğru??????????
|
|
Yazar |
|
audtou
malatya
Kayıt: 31.08.2006 |
|
akgulozkan yazdi | 1. soruda yeni bir liste oluşturarak yaparsak kolay olabilir ama bellekteki elemanların yerleri değiştirmeden listeyi değiştirmek biraz daha zor gibi |
bence önce verileri bi stack'e atıp sonra ordan yeni tek bagli listeye atabiliriz ama ugrasmak lazım
bitiyo lan!
|
|
Yazar |
|
nesibe
Kayıt: 10.02.2006 |
|
tuuba yazdi | http://img186.imageshack.us/my.php?image=adsz1ex6.png
İlk sayfada verilen 1.sorunun cevabı
DLR,LDR....taramaları daha farklı yapılmış....Hangisi doğru?????????? |
orada ldr dlr yapılmamış ki sadece ikili ağaca cevrilmiş
kalpler bir, yetmez mi?
|
|
Yazar |
|
tuuba
Bursa
Kayıt: 22.01.2007 |
|
sağ üstte değil mi???????????
|
|
Yazar |
|
nesibe
Kayıt: 10.02.2006 |
|
tuuba yazdi | sağ üstte değil mi??????????? |
evt görmemişimbakayım
kalpler bir, yetmez mi?
|
|
Yazar |
|
nesibe
Kayıt: 10.02.2006 |
|
ben de ilk yaptığımda böyle bulmuştum ama bu yanlış yani akgülözkanın yaptığı doğru bencesonradan öyle buldum .sağlamasını da yaptım
kalpler bir, yetmez mi?
|
|
Yazar |
|
serdar5
Kayıt: 12.02.2006 |
|
audtou yazdi | akgulozkan yazdi | 1. soruda yeni bir liste oluşturarak yaparsak kolay olabilir ama bellekteki elemanların yerleri değiştirmeden listeyi değiştirmek biraz daha zor gibi |
bence önce verileri bi stack'e atıp sonra ordan yeni tek bagli listeye atabiliriz ama ugrasmak lazım |
bana gorede soylediğin çok mantıklı ilk aklıma gelende bu yontem oldu,sanırımı bu yolla çözülebilir.
Kanit gösterilmeden yapilmis bir iddiayi çürütmek için kanita ihtiyaç yoktur
|
|
Yazar |
|
akgulozkan
istanbul
Kayıt: 12.12.2006 |
|
serdar5 yazdi | audtou yazdi | akgulozkan yazdi | 1. soruda yeni bir liste oluşturarak yaparsak kolay olabilir ama bellekteki elemanların yerleri değiştirmeden listeyi değiştirmek biraz daha zor gibi |
bence önce verileri bi stack'e atıp sonra ordan yeni tek bagli listeye atabiliriz ama ugrasmak lazım |
bana gorede soylediğin çok mantıklı ilk aklıma gelende bu yontem oldu,sanırımı bu yolla çözülebilir. |
evet ama belki işlemi direk liste üzerinde yapmak gerekiyodur.. Asıl sorun o zaten.. Ama stack e atarak gayet kolay çözülebilir
|
|
Yazar |
|
audtou
malatya
Kayıt: 31.08.2006 |
|
1. soruyu stack e atıp çözmeye çalıştım
(altuko nun kodu üzerinden :)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXELEMAN 10
struct TekBagli {
int data;
struct TekBagli *next;
};
typedef struct TekBagli Tekbagli;
typedef struct TekBagli* TekBagliPtr;
struct Stack{
int top;
int dizi[MAXELEMAN];
};
typedef struct Stack Stack;
typedef struct Stack *StackPtr;
void push(StackPtr *start,int value){
StackPtr temp = *start;
if(temp->top == MAXELEMAN - 1){
printf("stack dolu
");
return;
}
else
temp->dizi[++(temp->top)] = value;
}
int pop(StackPtr *start){
StackPtr temp = *start;
if(temp->top < 0){
printf("stack bos!!
");
exit(0);
}
return temp->dizi[(temp->top)--];
}
void printStack(StackPtr st){
int index = st->top;
int i;
for(i = 0; i < index; i++){
printf(" %d ->",st->dizi[i]);
}
}
void insertTekBagli(TekBagliPtr *tekStart,int data) {
if((*tekStart) == NULL) {
(*tekStart) = (TekBagliPtr)malloc(sizeof(TekBagli));
(*tekStart)->data = data;
(*tekStart)->next = NULL;
}
else
insertTekBagli(&((*tekStart)->next),data);
}
void printTekBagli(TekBagliPtr tekStart) {
if(tekStart != NULL) {
printf("%d->",tekStart->data);
printTekBagli(tekStart->next);
}
}
void tekToStackOrdandaTeke(TekBagliPtr *tekStart1,TekBagliPtr *tekStart2,StackPtr *st){
TekBagliPtr current;
int deger;
current = (*tekStart1);
while(current != NULL){//tek bagli1 den staacke atma işlemi
deger = current->data;
push(st,deger);
current = current->next;
}
while((*st)->top >= 0){//stack den 2. tek bagliya atma işlemi
deger = pop(st);
insertTekBagli(tekStart2,deger);
}
}
int main() {
TekBagliPtr tekStart1 = NULL;//tek bağlı listenin başlangıç adresi...
TekBagliPtr tekStart2 = NULL;
int kayitSayisi,value;
StackPtr stack1=(StackPtr)malloc(sizeof(Stack));
stack1->top = -1;
printf("Kac tane sayi girmek istiyorsunuz....(Max 10 lutfen) ");
scanf("%d",&kayitSayisi);
flushall();
for(int i = 0;i < kayitSayisi;i++) {
printf("%d-->deger.. ",i+1);
scanf("%d",&value);
flushall();
insertTekBagli(&tekStart1,value);
}
printf(" ***************************
tekbagli1::
");
printTekBagli(tekStart1);
tekToStackOrdandaTeke(&tekStart1,&tekStart2,&stack1);
printf("
****************************
tek bagli2:
");
printTekBagli(tekStart2);
printf("
");
return 0;
}
bitiyo lan!
|
|
Yazar |
|
tuuba
Bursa
Kayıt: 22.01.2007 |
|
1. sorunun taramalarını ben de linkte verildiği gibi buldum,orta yolu buksak??????
|
|
Yazar |
|
guvendh
Rize
Kayıt: 26.02.2006 |
|
audtou yazdi | 1. soruyu stack e atıp çözmeye çalıştım
(altuko nun kodu üzerinden :)
.......................
|
Bende farklı bi yoldan yaptım ama biraz karışık gibi sanki
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define str_uzunluk 10
typedef struct TekBagli {
int no;
char ad[str_uzunluk];
struct TekBagli *next;
}tekBagli;
void Listele_TekBagli (tekBagli *head)
{
tekBagli *ptr = head;
while(ptr != NULL)
{
printf("%-10d %-20s
", ptr->no,ptr->ad);
ptr = ptr->next;
}
}
tekBagli * Ekle_TekBagli(tekBagli *head, int no, char ad[str_uzunluk])
{
tekBagli *yeni = (tekBagli *) malloc(sizeof(tekBagli));
tekBagli *ara = head;
yeni->no = no;
strcpy(yeni->ad, ad);
yeni->next = NULL;
if(head == NULL)
return yeni;
else
{
while(1)
{
if(ara->next == NULL)
{
ara->next = yeni;
return head;
}
else
ara = ara->next;
}
}
}
tekBagli * TersiniAl(tekBagli *head1, tekBagli *head2)
{
tekBagli *ara = head1;
tekBagli *ara2 = head1;
while(1)
{
ara = head1;
ara2 = head1;
while(1)
{
if(ara->next == NULL)
{
head2 = Ekle_TekBagli(head2, ara->no, ara->ad);
free(ara2->next);
ara2->next = NULL;
if(ara == head1)
return head2;
break;
}
else
{ ara2 = ara;
ara = ara->next;
}
}
}
return head2;
}
void main()
{
tekBagli *head1 = NULL;
tekBagli *head2 = NULL;
head1 = Ekle_TekBagli(head1, 11, "Merhaba");
head1 = Ekle_TekBagli(head1, 12, "Merhaba2");
head1 = Ekle_TekBagli(head1, 13, "Merhaba3");
head1 = Ekle_TekBagli(head1, 14, "Merhaba4");
Listele_TekBagli(head1);
head2 = TersiniAl(head1, head2);
printf("********************
");
getch();
Listele_TekBagli(head2);
}
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | | | | |