C++ public nedir?

RSK06

Hectopat
Katılım
29 Aralık 2020
Mesajlar
2.361
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
Write a C++ program to compute the sum of the three given integers. However, if any of the values is in the range 10..20 inclusive then that Value counts as 0, except 13 and 17.
Böyle bir soru çıktı karşıma yapamadım ve cevapta böyle bir vardı fakat anlamadım anlatabilecek var mı?
Class nedir onu da bilmiyorum.
[CODE lang="cpp" title="kod"]#include <iostream>
using namespace std;
class Solution
{

public:

int test(int x, int y, int z)
{
return fix_num(x) + fix_num(y) + fix_num(z);
}

int fix_num(int n)
{
return (n < 13 && n > 9) || (n > 17 && n < 21) ? 0 : n;
}
};
int main()
{
Solution *solution = new Solution();
cout << solution->test(4, 5, 7) << endl;
cout << solution->test(7, 4, 12) << endl;
cout << solution->test(10, 13, 12) << endl;
cout << solution->test(17, 12, 18) << endl;
return 0;
}[/CODE]
 
Son düzenleyen: Moderatör:
Soruyu anlamakla başlayabiliriz.

Soru diyor ki: Kullanıcıdan istenen 3 adet tam sayının toplamını hesaplayın. Eğer bu sayılar 10 ve 20 arasında (10 ve 20 dahil) ve 13 veya 17 değilse değerleri 0 olarak kabul edin. Yani uzun olarak eleman bizden 10, 11, 12, 14, 15, 16, 18, 19, 20 ise 0 olarak say demek istiyor.

Sayıların az önce sıraladığım sayılardan birisi olup olmadığını kontrol ederek toplamanız gerek.

(n > 9 && n < 13) || (n > 13 && n < 21) bu işi yapıyor.
statement ? if_true : if_false; Geri kalan kısım ise basit bir ternary operator. Eğer üstteki ifade true ise 0 değilse n return ediyor.

Bu sorunu Class yapısı ile alakası yok. Çözümü yapan arkadaş sınıf içerisinde çözüp ürettiği instance üzerinden çağırmış.
 
Soruyu anlamakla başlayabiliriz.

Soru diyor ki: Kullanıcıdan istenen 3 adet tam sayının toplamını hesaplayın. Eğer bu sayılar 10 ve 20 arasında (10 ve 20 dahil) ve 13 veya 17 değilse değerleri 0 olarak kabul edin. Yani uzun olarak eleman bizden 10, 11, 12, 14, 15, 16, 18, 19, 20 ise 0 olarak say demek istiyor.

Sayıların az önce sıraladığım sayılardan birisi olup olmadığını kontrol ederek toplamanız gerek.

(n > 9 && n < 13) || (n > 13 && n < 21) bu işi yapıyor.
statement ? if_true : if_false; geri kalan kısım ise basit bir ternary operator. Eğer üstteki ifade true ise 0 değilse n return ediyor.

Yani benim baktığım çözüm biraz gereksiz uzun herhalde teşekkürler.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı