functions Flashcards

1
Q

fonksiyon oluşturma(kare al)

A

int kare_al(int x);
int main(void){

int i;
for(i = 1; i <= 10; i++){
    printf("%d ", kare_al(i));
}
printf("\n");

return 0; }

int kare_al(int sayi){
return (sayi * sayi);
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

fonksiyon oluşturma (max)

A

int maximum(int x, int y, int z); // fonksiyon prototipi
int global_degisken = 0;

int main(){
int sayi1, sayi2, sayi3; // kullanicinin girecegi sayilar
printf(“Uc tam sayi giriniz:\n”);
scanf(“%d %d %d”, &sayi1, &sayi2, &sayi3);

global_degisken = 5;    // global degiskenin degeri degistiriliyor.
int sonuc = maximum(sayi1, sayi2, sayi3);    // fonksiyonun 3 parametre ile cagirilmasi
// main fonksiyonu akisi cagirilan fonksiyonla birlikte baska satira gidiyor,
//fonksiyon bittikten sonra kaldigi yerden devam ediyor.
printf("Maximum sayi: %d\n", sonuc);

return 0; }

int maximum(int x, int y, int z){ // maksimum fonksiyonunun tanimi (definition)
int max = x; // ilk sayinin maks oldugunu varsayalim
printf(“global: %d\n”, global_degisken); // global degisken her yerden cagirilabilir.

if (y > x)
    max = y;
if (z > max)
    max = z;

return(max);
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

fonksiyon tanımı-statik yerel değişkenler

A

void staticLocal(void); // fonksiyon prototipi

int main(){
staticLocal();
staticLocal();
staticLocal();

return 0; }

void staticLocal(void){
static int sayac = 1;
static int statik_degisken = 50;
printf(“%d. cagrilma———-\n”, sayac);
printf(“staticLocal fonksiyonuna girerkenki statik_degisken degeri: %d\n”, statik_degisken);
statik_degisken++;
printf(“staticLocal fonksiyonundan cikarkenki statik_degisken degeri: %d\n\n”, statik_degisken);
sayac++;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

fonksiyon parametresi olarak dizi(pass by ref)

A

void increment(int num) {
(
num)++;
printf(“Inside function: %d\n”, *num);
}

int main() {
int a = 5;
printf(“Before function call: %d\n”, a);
increment(&a);
printf(“After function call: %d\n”, a);
return 0;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

fonksiyon parametresi olarak dizi elemanı(pass by value)

A

void increment(int num);

int main() {
int a = 5;
printf(“Before function call: %d\n”, a);
increment(a);
printf(“After function call: %d\n”, a);
return 0;
}

void increment(int num) {
num++;
printf(“Inside function: %d\n”, num);
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

boyutunu ve elemanlarını kullanıcıdan aldığınız bir tam sayı dizisi
oluşturun. Daha sonra kullanıcıdan bu dizi içinde aranmak üzere bir sayı
alın. Arama işlemini aşağıda verilen fonksiyon prototipini tanımlayarak
gerçekleştirin. Alınan sayının dizi içinde yer alıp almadığını ekrana
yazdır

A

int ara(int dizi[], int eleman_sayisi, int aranan_sayi);

int main()
{
int i;

int eleman_sayisi;
printf("dizinin eleman sayisi: ");
scanf("%d", &eleman_sayisi);

int dizi[eleman_sayisi];
printf("Dizinin main'deki yeri - %p \n", dizi);

for (i=0; i<eleman_sayisi; i++)
{
    scanf("%d", &dizi[i]);
}

int aranan_sayi;
printf("aranan sayi: ");
scanf("%d", &aranan_sayi);

int sonuc = ara(dizi, eleman_sayisi, aranan_sayi);
if (sonuc == 1)
    printf("Aranan sayi dizide var\n");
else
    printf("Aranan sayi dizide yok\n");
    
return 0; }

int ara(int dizi[], int eleman_sayisi, int aranan_sayi)
{
int var = 0, i;

printf("Dizinin ara fonksiyonundaki yeri - %p\n", dizi);
for (i=0; i<eleman_sayisi; i++)
{
    if (dizi[i] == aranan_sayi)
    {
        var = 1;
        break;
    }
}
return var; }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

6 yüzlü bir zarın 1,000,000 kez yuvarlanması

A

include <stdlib.h></stdlib.h>

int main(void){
int frekans1 = 0; // 1’lerin sayisi
int frekans2 = 0; // 2’lerin sayisi
int frekans3 = 0; // 3’lerin sayisi
int frekans4 = 0; // 4’lerin sayisi
int frekans5 = 0; // 5’lerin sayisi
int frekans6 = 0; // 6’lar˝n sayisi

int roll, face;
for (roll = 0; roll < 1000000; roll++)
{
    face = rand()%6 + 1;  // 1-6 arasinda random sayi uretme
    if (face == 1)
        frekans1++;
    else if (face == 2)
        frekans2++;
    else if (face == 3)
        frekans3++;
    else if (face == 4)
        frekans4++;
    else if (face == 5)
        frekans5++;
    else if (face == 6)
        frekans6++;
}
printf(" %s%15s\n", "Zar", "Frekans");
printf("  1: %13d\n  2: %13d\n  3: %13d\n  4: %13d\n  5: %13d\n  6: %13d\n",
frekans1, frekans2, frekans3, frekans4, frekans5, frekans6);

return 0; }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

srand() kullanımı

A

include <stdlib.h></stdlib.h>

#include <time.h></time.h>

int main(void) {
int seed;
printf(“%s”, “Seed numarasi girin: “);
scanf(“%d”, &seed);

srand(seed); // seed the random-number generator
srand(time(NULL));

int i;
for (i = 1; i <= 10; ++i) {
printf("%d ", 1 + (rand() % 6));
}

printf(""); }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

recursion factorial

A

unsigned long long int faktoriyel(int sayi);

int main(void) {
// faktoriyel(i) hesapla ve sonuÁlar˝ gˆster
int i;
for (i = 0; i <= 21; ++i)
printf(“%d! = %llu\n”, i, faktoriyel(i));
}

// fonksiyon faktˆriyelinin recursion (yineleme) tan˝m˝
unsigned long long int faktoriyel(int sayi) {
if (sayi <= 1) // 0! ve 1! degeri
return 1;
else // recursive adimi
return (sayi * faktoriyel(sayi - 1));
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

dizi içinde rastgele sayılar oluşturan ve bu
dizideki negatif elemanları sayıp sıfırlayan bir C
programı yaz

A

void randomVeriUret(int a[], int elemanSayisi, int min, int max);
int say_ve_sifirla(int b[], int elemanSayisi);

// MAIN
int main() {
int dizi_elemanSayisi, min, max, i;
printf(“Rastgele veri uretimi icin nokta sayisini girin: “);
scanf(“%d”, &dizi_elemanSayisi);
printf(“\nRastgele sayilar icin aralik girin (min-max): “);
scanf(“%d %d”, &min, &max);

int randomDizi[dizi_elemanSayisi];
randomVeriUret(randomDizi, dizi_elemanSayisi, -10, 10);   // fonksiyon ile dizi olu˛turuldu.

int negatifNoktaSayisi = say_ve_sifirla(randomDizi, dizi_elemanSayisi);

printf("\n\nNegatif eleman sayisi: %d\n", negatifNoktaSayisi);
printf("\nNegatif elemanlarin sifirlanmasindan sonra veriler: \n");
for (i = 0; i < dizi_elemanSayisi; i++) {
    printf("%d ", randomDizi[i]);
}
printf("\n");

return 0; }

// FONKSIYON-1: Rastgele veri uretimi icin bir fonksiyon
void randomVeriUret(int a[], int elemanSayisi, int min, int max) {
srand(time(NULL)); // Rastgele baslangic değeri ayarla

printf("\nDizi elemanlari: \n");
int i;
for (i = 0; i < elemanSayisi; i++) {
    a[i] = (rand() % (max - min + 1)) + min;
    printf("%d ", a[i]);
} }

// FONKSIYON-2: Dizi icinde 0’dan kucuk olan elemanlari sayan ve 0 yapacak olan fonksiyon
int say_ve_sifirla(int b[], int elemanSayisi) {
int negatifSayisi = 0;
int i;
for (i = 0; i < elemanSayisi; i++) {
if (b[i] < 0) {
negatifSayisi++;
b[i] = 0; // Elemani 0 yap
}
}
return negatifSayisi;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly