İlginizi Çekebilir
  1. Ana Sayfa
  2. C++
  3. C++ Örnek Projeler – Kolay Seviye 6 Adet #4

C++ Örnek Projeler – Kolay Seviye 6 Adet #4

Daha önceki iki dersimizde giriş seviyelere 2 ayrı derste ve kolay seviyede 1 derse bakmıştık. C++ eğitim seti sayfasından yazılara ulaşabilirsiniz. o derslere ulaşabilirsiniz.

C++ Örnek Projeler – Kolay Seviye 6 Adet #4

Herkese merhaba, C++ Örnek Projeler – Kolay Seviye 6 Adet #4 yazım ile C++ derslerine devam ediyorum. Bu dersimizde C++ üzerine kolay seviyede 6 farklı probleme ve çözümlerine bakacağız. Daha önceki iki dersimizde giriş seviyelere 2 ayrı derste ve kolay seviyede 1 derse bakmıştık. C++ eğitim seti sayfasından yazılara ulaşabilirsiniz. o derslere ulaşabilirsiniz. Biliyorsunuz Yapay zeka dersleri için C++ ‘a öğrenmeye başlamıştım. Yapay zeka konusunda bir kaç sıralama algoritmasına değinmiştik. Yakın zamanda güzel bir kurs bulmuştum. O kursta 75 tane örnek yer alıyor. Bu dersin github sayfasına giderseniz ilgili kursun bağlantısına ulaşabilirsiniz.

C++ Örnek Projeler – Kolay Seviye 6 Adet #4

Bu yazımda 6 tane örnekten bahsedeceğim. Bu örnekler kolay seviye örneklerdir. Önceki iki derste kolay seviyeye dair 6 örnekti. Giriş kısmında da bahsettiğim kursu bulmamdan dolayı bu yazıları yazma gereği duydum. İlgili kursa, alt kısımda vereceğim github sayfasından ulaşabilirsiniz.

 

1 – Parametre olarak verilen karakterin ASCII tablosundaki karşılığını veren metodu yazın.

// Kod Egzersizi 7
// parametre olarak girilen karakterin ascıı tablosundaki kodunu veren metodu yazın.
unsigned short ctoa(char c) {
	return (int)c;
}

C++’da bir karakteri (char) int türüne parse ettiğinizde ASCII karşılığını alırsınız.

 

2 – Parametre olarak verilen parametreyi 2’nin üzeri olarak hesaplayan metodu yazın.

// Kod Egzersizi 8
// verilen parametreyi 2 nin üzeri olarak hesaplayan metodu yazın.
#include <cmath>
int posCom(int n) {
	return pow(2, n);
}

Math kütüphanesinde yer alan Pow metodu, ikinci parametresini, birinci parametresinin üssü olarak hesaplar.

 

3 – Parametre olarak verilen iki açı üzerinden, kayıp açısını bulan metodu yazın. Geri dönüş olarak aşağıdaki şartlar sağlanmalıdır.

  • Kayıp açı, 90 dereceden az ise “acute” dönsün
  • Kayıp açı, 90 derece ise “right” dönsün
  • Kayıp açı, 90 dereceden büyük, 180 dereceden küçük ise “obtuse”  dönsün
// Kod Egzersizi 9
// verilen parametrelerden  üçgenin kayıp açısını bulan metodu yazın.
// kayıp açı 90 dereceden az ise "acute" dönsün
// kayıp açı 90 derece ise "right" dönsün
// kayıp açı 90 dereceden büyük 180 dereceden az ilse "obtuse" dönsün
#include <iostream>
std::string missingAngle(int angle1, int angle2) {
	if (angle1 + angle2 > 90)
		return "acute";
	else if (angle1 + angle2 < 90)
		return "obtuse";
	else
		return "right";

	//return(angle1 + angle2) > 90 ? "acute" : (angle1 + angle2) < 90 ? "obtuse" : "right";
}

 

 

4 – Parametre olan iki sayıyı, operatör parametresine yer alan işarete göre işlemi yapan metodu yazın.

// Kod Egzersizi 10
// int parametreler arasında, op parametresi alanında verilen işlemi yapan basit hesap makinesi metodunu yazın. 
int calculator(int num1, char op, int num2) {
	/*int num = 0;
	if (op == '/' && num2 == 0) num = 0;
	if (op == '/') num = num1 / num2;
	if (op == '*') num = num1 * num2;
	if (op == '+') num = num1 + num2;
	if (op == '-') num = num1 - num2;
	return num;*/

	//return (op == '+') ? num1 + num2 : (op == '*') ? num1 * num2 : (op == '-') ? num1 - num2 : (op == '/' && num2 == 0) ? 0 : (op == '/') ? num1 / num2 : 0;

	switch (op)
	{
	case '/':
		if (num2 != 0) return num1 / num2;
		else return 0;
	case '*':
		return num1 * num2;
	case '+':
		return num1 + num2;
	case '-':
		return num1 - num2;
	}
}
  • İlk çözüm if kullanımı ile yapılmaktadır. Burada tüm işlemlere ek olarak Sıfıra Bölünemez hatası almamak için özel bir kontrol yer almaktadır.
  • İkinci çözüm ternary if ile yapılmıştır. Burada da sıfıra bölünebilme noktasında bir kontrol vardır.
  • Üçüncü çözüm switch case ile yapılmıştır. / case’i içinde sıfıra bölünebilme kontrolü yapılmıştır.

 

5 –  Parametre olarak aldığı dizi ve dizi boyutu üzerinden dizideki son karakteri veren metodu yazın.

// Kod Egzersizi 11
// dizi ve boyut parametrelerini kullanarak, verilen dizideki son saıyı gösteren metodu yazın
int getLastItem(int arr[], int length) {
	return arr[length - 1];
}

 

6 – Parametre olarak aldığı dizideki tek sayılara +1 ekleyen, çift sayılardan -1 çıkaran metodu yazın.

// Kod Egzersizi 12
// parametre olarak verilen dizideki tek sayılara +1 ekleyen, çift sayılara -1 ekleyen metodu yazın.
#include <vector>
std::vector<int> transform(std::vector<int> arr) {
	for (int i = 0; i < arr.size(); i++)
	{
		//arr[i] % 2 == 0 ? arr[i] -= 1 : arr[i] += 1;
	
		if (arr[i] % 2 == 1)
			arr[i] += 1;
		else
			arr[i] -= 1;
	}
	return arr;
}

Bu çözümde bir döngü mutlaka gerekli olmak ile birlikte, ternary ile veya normal bir if ile çözülebilir.

 


C++ Örnek Projeler – Kolay Seviye 6 Adet #4  yazımda bu kadardı arkadaşlar. Bu dersler Yapay Zeka temelinde olduğundan dolayı ilgili kategorinin derslerine ulaşmak için bağlantıya tıklayabilirsiniz. Ayrıca C++ dersleri içinde bir sayfa hazırladım. O sayfaya da bağlantıya tıklayarak ulaşabilirsiniz.

Her zamanki gibi Github projesine bağlantıya tıklayarak ulaşabilir ve indirebilirsiniz. Ayrıca bu yazının PDF’ine buraya ve ya buraya tıklayarak ulaşabilirsiniz.

Diğer derslerde görüşürüz.

Bol Kodlu günler! 🙂

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Değerli yorumlarınızı bekliyorum. Lütfen yorum atmadan geçmeyin. :)