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 ç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.
 
Selam. 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 nerede?

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.
 
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);
C hocam bu arkadas C++ ogreniyor kafasi karisir belki.
 
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.
Tamamdır.Teşekkürler.
 

Technopat Haberler

Yeni konular

Geri
Yukarı