1. ve 2. En Büyük ve En Küçük Sayıları, Negatif-Pozitif Olduğunu Bulan Kod

Kurtbeyi

Misafir Editör
Katılım
5 Şub 2022
Mesajlar
1,980
Tepkime puanı
0
Puanları
36
Konum
istanbul
Cinsiyet
  1. Bay
Takım
Fenerbahçe
Kod:
/*
>> PROGRAMLAYAHN: lavara123
>> TARİH: 23.02.2014
>> PROGRAMIN ÖZELLİKLERİ:
   -Kullanıcıdan önce kaç sayı gireceğini sorar
   -sonra o kadar sayıya değer ister
   -girilen sayılardan:
     *1.En Büyük Sayıyı Bulur
     *2.En Büyük Sayıyı Bulur
     *1.En Küçük Sayıyı Bulur
     *2.En Küçük Sayıyı Bulur
     *Girilen Sayılardan negatif, pozitif ve 0 olanları gösteririr
     *Kaç negatif, pozitif ve 0 girildiğni yazar
     
*/
#include <conio.h>//_getch() fonksiyonunu kullanabilmek için
#include <iostream>//ana kütüphane

using namespace std;

int main(int argc, char *argv[])
{
    setlocale(LC_ALL, "Turkish");//dil fonksiyonundan türkçe dilini çağırıyoruz(türkçe karakterleri kullanabilmek için)
                                 //yukarıdaki fonksiyonda hata alırsanız kütüphane olarak <locale.h> ekleyin.
    int y,d,de,n,p,z,max[3],min[3],gecici1,fr;//tam sayı değişkenlerimizi tanımlıyoruz
    //yukarda fr değişkenimizi for döngülerinde kullanacağız

    //__sıfıra eşitlemeler -basla-__
    p = 0;
    n = 0;
    z = 0;
    max[0] = -1410065407;//max[0]'ı int değişkeninin en küçük alabileceği degere eşitliyoruz çünkü negatif
                        //sayı girilirse onlarıda işlemlere katmak için
    max[2] = -1410065407;//yukarıdaki max[0] şeklinde
    for(fr=0;fr<4;fr++)//max[] ve min[] dizilerini for döngüsü sıfıra eşitliyeceğiz
    {
    min[fr] = 0;
    if(fr==0 || fr==2)//eğer fr=0 veya fr=2'ye:
        continue;//aşağıya uğramadan başa dönecek(bunu neden kullandık çünkü
                //yukarda max[0] ve max[2]'ye lazım olna negatif degerleri atamıştık)
    max[fr] = 0;
    }
    //__sıfıra eşitlemeler -*bit*-__

    int x['y'];//bir dizi tanımladık ve dizi boyutuna y dedik

basla://eğer kodların bir yerinde goto basla; komutuna rastlarsa buraya geri dönüp bunun altından tekrar başlayacak
    system("CLS");//Ekran Silme Komututudur
    cout << "...Lütfen Karşılastırmanın Tam Teşeeküllü Olmasını Istiyorsanız: \nEn Az 4 Sayı Giriniz...\n\n";
    cout <<"Kac Sayi Girilecek.: ";
    cin >> d;//d değişkenine kullanıcıdan değer alıyoruz
    if(d < 4)//eğer d küçükse 4'ten(4 veya 4'ten büyük sayı girilmesini istiyoruz):
    {
        cout << "\nLutfen Sayiniz 4'den Kucuk Olmasin\n";
        system("PAUSE");
        goto basla;//yukardaki basla: altına gider
    }
    y = d;//y değişkenimizi kullanıcıdan aldığımı d değişkenine eşitledik(çünkü x[] bir dizi idi ve y kadar boyutu vardı)
    system("CLS");
    cout << endl;

    //__sayıları almaya -basla-__
    for(fr=0;fr<d;fr++)//fr'yi 0'a eşitliyoruz; fr küçük olduğu sürece d'den;fr'yi 1 artır
    {
        cout << fr+1 << ". Sayi..: ";//fr+1 dedik çünkü fr 0'dan başıyor 0.sayı iyi olmayacağı için 1.sayı yazdırmak için +1 dedik
        cin >> x[fr];//x[] dizine fr d olasıya kadar sayı istiyecek
        cout << endl;
    }
    //__sayıları alma -*bit*-__


    //__1. büyük sayı bul -basla-__
    for(fr=0;fr<d;fr++)
    {
        if(x[fr]>=max[0])//x[fr] büyükse veya eşitse max[0]'a:
        {
            max[0]=x[fr];//max[0]'ı x[fr]'ye eşitle
            max[1]=fr+1;//max[1]'i fr+1'e eşitle(neden +1 derseniz çünkü 0.Sayi güzel durmayacağı için)
        }
    }
    //__1. büyük sayı bul -*bit*-__

    gecici1 = max[0];//gecici1 değişkenimizi max[0]'a eşitliyoruz

    //__2. büyük sayı bul -basla-__
    for(fr=0;fr<d;fr++)
    {
        if(x[fr]>=max[2])//eğer x[fr] büyük veya eşitse max[2]'ye:
        {
            if(x[fr] < max[0])//eğer x[fr] küçükse max[0]'dan
            {
            max[2] = x[fr]; //max[2]'yi x[fr]'ye eşitle
            max[3] = fr+1;  //max[3]'ü eşitle fr+1'e
            }
        }
    }
    //__2. büyük sayı bul -*bit*-__

    //__1. küçük sayı bul -basla-__
    for(fr=0;fr<d;fr++)
    {
        if(x[fr]<gecici1)//eğer x[fr] küçükse gecici1'den:
        {
            gecici1 = x[fr]; //gecici1'i x[fr]'ye eşitle
            min[0] = x[fr];  //min[0]'ı x[fr]'ye eşitle
            min[1] = fr+1;   //min[1]'i fr+1'e eşitle
        }
    }
    //__1. küçük sayı bul -*bit*-__

    gecici1 = max[0];//gecici1 değişkenimizi max[0]'a eşitliyoruz birazdan lazım olacak(çünkü yukardaki for döngüsünde yeni bir değer aldı bize en büyük sayının değerini alması gerekiyor)

    //__2. küçük sayı bul -basla-__
    for(fr=0;fr<d;fr++)
    {
        if(x[fr]<gecici1 && x[fr] > min[0])//x[fr] küçükse gecici1'den ve x[fr] büyükse min[0]'dan:
        {
            gecici1 = x[fr]; //gecici1'İ x[fr]'ye eşitliyoruz
            min[2] = x[fr];  //min[2]'yi x[fr]'ye eşitliyoruz
            min[3] = fr+1;   //min[3]'ü fr+1'E eşitle
        }
    }
    //__2. küçük sayı bul -*bit*-__

    system("CLS");

    cout << "\nToplam girilen sayi: " << fr << endl;//fr d'olasıya kadar 1 artırıldığı için fr=d olmuş olur bu yüzden fr ile toplam kaç sayı girildiğini gösterebiliriz
    
    //__Pozitif-Negatif bulma -basla-__
    for(de=0;de<fr;de++)//de=0;de küçük olduğu sürece fr'den;de'yi 1 artır:
    {
        if(x[de] > 0)//x[de] büyükse 0'dan(yani pozitif ise):
        {
            p++;//p değişkenine 1 ekle(kaç pozitif sayı olduğunu saymak için)
            cout << endl << endl;
            cout << de+1 << ". Sayi = " << x[de];
            cout << " > pozitif bir sayidir." << endl;
        }
        else if(x[de] == 0)//x[de] 0'a eşitse:
            {
                z++;//z değişkenine 1 ekle(kaç sıfır sayısı girildiğini saymak için)
                cout << endl << endl;
                cout << de+1 << ". Sayi = " << x[de];
                cout << " > negatif veya pozitif degildir." << endl;
            }
        else if(x[de] < 0)//x[de] küçükse 0'dan(yani negatif ise):
            {
                n++;//n değişkenine 1 ekle(kaç negatif sayı olduğunu saymak için)
                cout << endl << endl;
                cout << de+1 << ". Sayi = " << x[de];
                cout << " > negatif bir sayidir." << endl;
            }
    }
    //__Pozitif-Negatif bulma -*bit*-__
    
    cout << endl << endl;
    
    if(z > 1 || z == 1)//z(yani kaç sıfır olduğunu sayan değişken) büyükse 1'den veya eşitse 1'e(çünkü 0 sayısı hiç yoksa aşağıdaki
                      //yazıyı boşuna yazdırmaya gerek yok):
    {
        cout << "Toplam " << p << " pozitif, " << n << " negatif ve " << z << " tanimsiz sayi girdiniz\n";
    }
    else//yukardaki if gerçekleşmediğinde:
    {
    cout << "Toplam " << p << " pozitif ve " << n << " negatif sayi girdiniz\n";
    }

    cout << "1. En Buyuk Sayi: " << max[1] << ".Sayi = " << max[0] << "\n";
    cout << "2. En Buyuk Sayi: " << max[3] << ".Sayi = " << max[2] << "\n\n";
    cout << "1. En Kucuk Sayi: " << min[1] << ".Sayi = " << min[0] << "\n";
    cout << "2. En Kucuk Sayi: " << min[3] << ".Sayi = " << min[2] << "\n";
    _getch();//normalde bunu getch(); olarak yazardık neden böyle derseniz aynı işlmi görürler bu daha hızlı derlenir
    return 0;//çıkış
}
 
metal işleme
Üst