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

Kurtbeyi

Misafir Editör
Katılım
5 Şubat 2022
Mesajlar
501
Tepkime puanı
44
Konum
istanbul
Cinsiyet
  1. Bay
Takım
Fenerbahçe
Progarmın Özellikleri:

> 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


kodlar:
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ış
}
 

Benzer konular

İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş - genel forum - webp converter