C/C++ Yazdığım kodda hata nerede?

SubhanXd

Centipat
Katılım
5 Kasım 2022
Mesajlar
186
Çözümler
1
Selamlar. Yapmam gereken görev:
A two-digit integer is given. Determine whether it is an even number.
Kodu şu şekilde yazdım:
Kod:
int main(){
    int x , digit1 , digit2 ;
    cin >> x ;
    if ( x > 9 ) {
        digit1 = ( x / 10 ) ;
        digit2 = ( x - ( digit1 * 10 )) ;
        if ( digit2 = 0 , 2 , 4 , 6 , 8 ) {
            cout << "The number is even." << endl ;
        } else {
        cout << "The number is not even." << endl ;
        }
      
} else ( x < (-9)) ; {
    digit1 = ( x / ( -10 )) ;
    digit2 = ( x + ( digit1 * ( -10 ))) ;
    if ( digit2 = 0 , -2 , -4 , -6, -8 ) {
        cout << "The number is even." << endl ;
    } else {
        cout << "The number is not even." << endl ;
    }
    }
İkinci kısım doğru ama birinci kısım yanlış. Sorun nerde?
 
Son düzenleyen: Moderatör:
Hocam çok uzatmışsınız ya da ben tam anlamadım. Sadece şöyle bir kod yazınca olmuyor mu?
Bence biraz daha çalışın o konuyu çünkü daha kısa şekilde halledilebiyor bu problemler.

Kod:
if(num % 2 == 0)
    printf("%d is even.", num);
else
    printf("%d is odd.", num);
 
Hocam daha yeni başladım.Yazdıklarınızdan hiç bir şey anlamadım.
 

Hatan ne bilmiyorum fakat gereksiz bir uzatmaya girip basamakları almaya kadar gitmişsin.
Basit hesaplama yapacaksın. İki basamakları sayı arıyorsan eğer 9'dan büyük yaparak bunu kolayca elde edebilirsin. Ayrıca sayının 2'ye bölümünden kalan 0 ise sayı çift'tir. Eğer kalan 0 değilse sayı tektir.
 
C hocam bu arkadas C++ ogreniyor kafasi karisir belki.
 
Tamamdır.Teşekkürler.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…