Codewars c++ sorusunu çözemedim

merhaba arkadaşlar
ben c++ öğrenmeye başladığımdan beri tutorialspoint learncpp gibi sitelere baktım ve sadece okumak istemedim biraz da soru çözerek alıştırma yapmak istemedim ama maalesef ilk soruyu çözemedim. yardım eder misinizEkran

daha yeni başladıysanız codewars ı tavsiye etmiyorum.Bilgileriniz algoritma kurmaya yetmeyebilir

Codewars gibi platformlar return edilen değere bakarak cevabın doğru olup olmadığına karar veriyorlar. Çünkü bazen bazı problemler birden fazla algoritma ile çözülebiliyor. Dolayısıyla her yazılan kodu okumak yerine(ki bu ne kadar doğru yapılabilir emin değilim), return edilen değere bakıyorlar. Yani a*b ifadesini return edin.

2 Beğeni

haa tamam ama ne sonuç vermesi gerektiğini söylemiyor sadece hatayı düzelt diyor

tamam biraz daha gelişip sonra codewars oynarım. ama yinede cevabı merak ettim

1 Beğeni

Merhabalar,

Acemi iken şu kodu yazarak ilk bölümü geçmiştim :

int multiply(int a, int b)
{
    a * b;
    return a * b;
}

@ggns7’nin dediği ile benim yazdığım aynı şey.

Kolay gelsin.

1 Beğeni

Kodda hata yok. Sadece istenilen sonucu vermiyor, düzgün çalışmıyor. Test kısmında a ve b verilmiş ama çarpımları return edilmediği için kod ‘düzgün çalışmıyor’.

Hatadan kastınıza göre değişir. Koddaki fonksiyonun değer döndürmemesi Undefined Behavior’a sebep oluyor.

1 Beğeni

Kodun çalışmasını engelleyecek hatayı/ları kastediyordum.

Fonksiyondan dönen değer kullanılmıyorsa pek sorun olacağını sanmıyorum. Yine de bu senaryo dışında, büyük projelerde fonksiyondan döndürülen değerlere dikkat edilmesi gerektiğini düşünüyorum.

Referans öyle demiyor:

Flowing off the end of a value-returning function (except main) without a return statement is undefined behavior.

3 Beğeni

Edit: Evet, şimdi jetonum düştü :smile:
Siz undefined behavior’dan söz edince ben onun üzerinden ilerledim. Bu örnek için doğru, değer döndürülmemesi (undefined behavior) test case’lerin (programın) çalışmasını engelliyor. Bu örnek dışında söylemek istediğim:

Ben de referansın böyle demediğini anlatmaya çalışıyorum. void dönüş tipi olmayan bir fonksiyondan değer döndürmemek undefined behavior, dönüş değerinin kullanılıp kullanılmamasının önemi yok.

Nerde benim canım mainim , kankam using namespace ler, #include bro nerdesin ula yolunu gözlüyoruz yahu.

Kısaca meali:

Codewars dan pratik yapma, git https://www.hackerrank.com/ dan çalış. Öyle pratik sitesi mi olur?

1 Beğeni

Onların zaten yazıldığını varsayıyoruz.

tamam hackerranka bir bakarım :slight_smile:

1 Beğeni