Ana içeriğe atla

Dizilerin Fonsksiyonlarda Parametre Olarak Kullanılması

 

#include <iostream>

using namespace std;

//Dizilerin Fonsksiyonlarda Parametre Olarak Kullanılması 

//parametre olarak dizi fonksiyonun içine alınması

//parametrelerin değiştirilebilmesi için dizinin uzunluğunada ihtiyaç var.


/*

void diziDegistir(int arr[], int size)//int size ile parametre olarak fonsiyona aldık

{

for (int i = 0; i < size; i++) 

{

arr[i] = arr[i] + 1;//Dizinin elemalarını birer arttırma

}

}

/*

//Dizinin içindeki herhangi bir elamanın sayısını arttırma

void sayiyiArttir(int sayi) //"(int sayi) Pass by Value" (Değer ile Geçme) kuralıdır. Sayiyi arttırmaz sadece sayıyı kopyalar

{

sayi = sayi + 1;

}

/*

int main() 

{

int dizi[] = {3, 9, 12, 5, 10, 1, 3};

diziDegistir(dizi, 7);//Dizi tanımını verdikten sonra dizinin uzunluğu verirlir.

for (int i = 0; i < 7; i++)

{

cout << dizi[i] << ", ";

}

cout << endl;

return 0;

}

*/

/*

//Dizinin içindeki herhangi bir elamanın sayısını arttırma

int main()

{

int dizi[] = { 3, 9, 12, 5, 10, 1, 3 };

int sayi = 10; //Dizinin içindeki 10 değerine sahip elamanı +1 arttrıma

sayiyiArttir(sayi);

cout << sayi;

cout << endl;

return 0;

}

*/

// Fonksiyonu şu şekilde güncelleyelim

// Dizinin değerini index ile arttırabiliriz

/*

void diziElemaniniArttir(int dizi[], int index)

{

dizi[index] = dizi[index] + 1;

}


int main()

{

int dizi[] = { 3, 9, 12, 5, 10, 1, 3 };

// 10 sayısı 4. indekste (0, 1, 2, 3, 4)

diziElemaniniArttir(dizi, 4);


cout << dizi[4]; // Çıktı şimdi 11 olacaktır!

cout << endl;

return 0;

}

*/

//Mulakat sorusu:,

//Kullanıcıdan 4 tane tam sayı alın ve bu tam sayıları kullanıcının girdiği sıranın tam tersi olarak ekrana yazsın

//ör: 7 1 2 9

//Kullanıcının girdiği bu sayıları aralarında boşluk olarak ekrana yazsın

//9 2 1 7 

//ör: 1

/*

int main() 

//Kullanıcıdan gelen dizi değerlerinin alınması


cout << "Lutfen tam sayi degerlerine sahip 4 indeks giriniz : " << endl;

int dizi[4];//4 elamanlı sayıların diziye aktarılması

for (int i = 0; i < 4;i++) //index 0'dan dahil ederek gideceği için 3'den küçüktür. 0'dahil olmak üzere 4 olarak alır

{

cout << i << " ninci sayiyi giriniz : ";

cin >> dizi[i];

}

cout << endl;

//Kullanıcıdan gelen dizi değerlerinin tersden yazdırlıması

for (int i = 3; i >= 0;i--) 

{

cout << dizi[i] << " ";

}

cout << endl;


return 0; 

}

*/

/*

* Bir öğrenci yönetim sistemi programı üzerinde çalışıyorsunuz. 

Öğrencilerin aldığı notları bir dizi (array) içinde tutuyorsunuz ve 

bu notların ortalamasını hesaplayıp ortalamanın üzerinde olan not sayısını bulup dönen fonksiyon yazınız

*/


int ortalamaUzeriNotlar(int notlar[], int uzunluk)

{

int toplam = 0;

for (int i = 0; i < uzunluk; ++i) 

{

toplam += notlar[i];

}


int ortalama = toplam / uzunluk;

int sayac = 0;


for (int i = 0; i < uzunluk; ++i) 

{

if (notlar[i] > ortalama) {

++sayac;

}

}

return sayac;

}


// 2. ADIM: Ana giriş kapısı (Garson siparişi verir)

int main()

{

int sinavNotlari[] = { 85, 78, 90, 66, 88, 72, 95, 80, 84, 77 };

int boyut = 10;


// Fonksiyonu çağırıyoruz

int sonuc = ortalamaUzeriNotlar(sinavNotlari, boyut);


cout << "Ortalamanin uzerindeki not sayisi: " << sonuc <<" adet!"<< endl;


return 0;

}

Bu blogdaki popüler yayınlar

C++ float double string Aritmatik işlemler

  #include <iostream> using namespace std; //void fonk()  //{ // cout << "Merhaba\n"; //} // //int main()  //{ // cout << "Merhaba C++\n"; // // fonk(); // return 0; //} /* int main()  { //Değişkenler rakam ile başlayamaz //Değişken isimlerinde türkçe karakter olmaz //değişken isimleride boşluk olmaz //Değişken isimlerinde nokta vb karakter olmaz //******************************************** //int ram'da 4 byte yer kaplıyor -2147483648 to 2147483647 //char 1 byte  (ASCII tablosu) //bool 1 byte //float 4 byte //double 8 byte //CPU ramdan byte byte okur //Void herhangi bir return etmiyecekse kendi aldığı değerleri kullanır.Bir değer döndürmez. string isim; isim = "Kaan"; int yas; yas = 22; cout << "Bir zamanlar " << isim << " isminde bir genc varmis." << endl << isim << " " << yas << " yasindaymis." ...

C++ try catch, Call by Value, Call by Referans Kullanımı

  #include <iostream> using namespace std; //int main()  //{ // int bolunen, bolen; // cout << "Lutfen bolunen sayiyi giriniz : "; // cin >> bolunen; // cout << "Lutfen bolen sayiyi giriniz : "; // cin >> bolen; // // int sonuc; // // try{ // if (bolen == 0) // throw 99;//Burada throw için herhangi bir tam sayı girilir.örn: negatif sayılar gibi durumlar için çoğaltılabilir // sonuc = bolunen / bolen; // // cout << "Sonuc : " << sonuc; // } // catch(int hataKodu){ // cout << "Bolen sayi sifir olmamali !!" << endl; // } // // cout << endl; // return 0; //} /* try catch Kullanımı :  * try catch kullanıcının beklenmedik bir girdi vermesi sonucu  * programın çökmesini engllemek amacı ile kullanılır * Ayrıca veri tabanı bağlantılarında bağlantının olmaması ve  * işlem sonrasında veri tabanı bağlantısını kapatma veya programın başlangıcında bağlantıyı a...

Pointer ve & (ampersant) Konusunu Kavrayalım

  #include <iostream> #include <string> using namespace std; /* int main()  {  int x = 7; cout << "x 'in degeri : " << x << endl; cout << "x 'in RAM deki adresi : " << &x << endl;  // & ile ramdeki ilk adres değeri  000000D3ED4FFCF4 ni bulduk  // int 4 byte oldugundan bu adresde dahil 4 byte 'lik yerin tamamını hesaplar // ama bize  4 byte lik adresin ilk değerini verir. return 0;  } */ /* int main() { // Pointer  ve & (ampersant) Konusunu Kavrayalım int x = 7; int *p = &x; // pointer ile x 'in adres değerini bulma cout << "x 'in degeri : " << x << endl; cout << "x 'in & ile RAM deki adresi : " << &x << endl; //pointer ile gösterimi cout <<"pointer p ile adres degeri : "<< p << endl; cout << "*p ile ( *p = &x) x in pointer degeri : " <...