C++ en büyük ve en küçük sayı bulma

kametguler
16-06-2020, 16:14   |  #1  
kametguler avatarı
OP Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Haz 2020

Arkadaşlar merhaba üniversite öğrencisiyim ve bu programı yapmam gerekiyor ve programın amacı -1 girilene kadarki girilen sayıların arasındaki en büyük ve en küçük tam sayı değerlerini ekrana yazdırmak. Ben kodu yazdığım ve çalıştırdığım zaman en büyük sayının bulunmasında problem yok en küçük sayıyı eksili girdiğimde buluyor lakin 15, 16, 17 sayılarını girip -1 ile programı sonlandırdığımda çıktı en büyük sayı: 17

en küçük sayı:1 oluyor. Bu yukarıdaki verdiğim örnekte mesela en küçük sayının 15 olarak görünmesi gerekiyor bu konuda yardımlarınızı bekliyorum yazdığım kodu aşağıda paylaşacağım. İyi forumlar....

#include <stdio.h>
int main()
{
        int num,biggest,smallest;
        for(int i=1;i>0;i++)
        {       
                printf("Please enter the %d. number:",i);
                scanf("%d",&num);
                if(num==-1) break;
                if(num>biggest)
                {
                        biggest=num;
                }
                else if(num<smallest)
                {
                        smallest=num;
                }
        }
                printf("The biggest number is that you entered:%d\n",biggest);
                printf("The smallest number is that you entered:%d",smallest);
               

       
       
        return 0;
}

Ayhan ARICAN
23-06-2020, 17:37   |  #2  
Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Haz 2020

Çünkü kod şöyle olmalıdır.

#include

#define INT_MAX 2147483647
#define INT_MIN -2147483648

int main()
{
        int num,biggest,smallest;

        biggest = INT_MIN;
        smallest = INT_MAX;

        for(int i=1;i>0;i++)
        {       
                printf("Please enter the %d. number:",i);
                scanf("%d",&num);
                if(num==-1) break;
                if(num>biggest)
                {
                        biggest=num;
                }
                else if(num<smallest)
                {
                        smallest=num;
                }
        }

         printf("The biggest number is that you entered:%d\n",biggest);
         printf("The smallest number is that you entered:%d",smallest);
         
         return 0;
}

Son Düzenleme: Ayhan ARICAN ~ 23 Haziran 2020 17:53