• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

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

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
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ış
}
 
Üst