0% found this document useful (0 votes)
10 views4 pages

Data Structures

Data structes quiz

Uploaded by

elif serbesoğlu
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views4 pages

Data Structures

Data structes quiz

Uploaded by

elif serbesoğlu
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

2024 BAHAR YARI YILI VERİ YAPILARI DERSİ

İKİNCİ ÖĞRETİM UYGULAMA SINAVI 3


29.11.2024
Yanıtlar Dev-C++ IDE’si kullanılarak yazılacak olup aşağıda gösterildiği gibi
numara_ad_soyad formatında masaüstüne kaydedilmelidir.
Örnek dosya adı: 231223000_vecihi_hurkus.cpp
Aşağıda verilen kod bloğu kullanılacaktır. Verilmiş olan kodlar üzerinde herhangi bir kısmı
silmeyiniz ya da değiştirmeyiniz. Sorularda istenilenlere göre verilen fonksiyonların içeriğini
doldurunuz.

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

// Tek yonlu bagli liste dugumu


struct Dugum {
int veri;
struct Dugum* sonraki;
};

// Yeni dugum olusturma fonksiyonu


struct Dugum* dugumOlustur(int veri) {
struct Dugum* yeniDugum = (struct Dugum*)malloc(sizeof(struct Dugum));
yeniDugum->veri = veri;
yeniDugum->sonraki = NULL;
return yeniDugum;
}

// Listenin sonuna eleman ekleme fonksiyonu


void listeSonaEkle(struct Dugum** bas, int veri) {
struct Dugum* yeniDugum = dugumOlustur(veri);
if (*bas == NULL) {
*bas = yeniDugum;
return;
}
struct Dugum* gecici = *bas;
while (gecici->sonraki != NULL) {
gecici = gecici->sonraki;
}
gecici->sonraki = yeniDugum;
}

// Listeyi yazdirma fonksiyonu


void listeyiYazdir(struct Dugum* bas) {
struct Dugum* gecici = bas;
while (gecici != NULL) {
printf("%d -> ", gecici->veri);
gecici = gecici->sonraki;
}
printf("NULL\n");
}

void Son_Elemean_Haric_Yaz(struct Dugum* bas)


{
printf("");
}

int Carpma(int sayi1, int sayi2)


{
return 0;
}

int main() {
struct Dugum* bas = NULL;
// Liste basa ve sona eklemeler
listeSonaEkle(&bas, 0);
listeSonaEkle(&bas, 1);
listeSonaEkle(&bas, 2);
listeSonaEkle(&bas, 3);
listeSonaEkle(&bas, 30);
listeSonaEkle(&bas, 21);
listeSonaEkle(&bas, 12);
listeSonaEkle(&bas, 3);
printf("Liste: ");
listeyiYazdir(bas);
printf("\n\n");

Son_Elemean_Haric_Yaz(bas);
printf("\n\n");

printf("Carpma isleminin sonucu %d \n\n", Carpma(-5, 4));


printf("Carpma isleminin sonucu %d \n\n", Carpma(-5, 0));

return 0;
}
SORULAR
1. Kendisine parametre olarak gelen Tek Yönlü Bağlı Liste’nin elemanlarını son elemanın hariç
baştan yazdıran Özyinelemeli (Recursive) Fonksiyonu yazınız.

2. Kendisine parametre olarak gelen iki tam sayının çarpımını, toplama işlemi kullanılarak
hesaplayan Özyinelemeli (Recursive) Fonksiyonu yazınız. sayi2 değişkeninin hiçbir zaman
negatif bir tamsayı olmayacağını kabul ediniz.

Size verilen main fonksiyonu çalıştırıldığında olması gereken ekran çıktısı Şekil 1’de
verilmiştir.

Şekil 1. Ekran çıktısı.

You might also like