PDA

Tam Sürümünü Görmek İçin : Sayıların en büyüğünü bulmak.


C.d.
26/09/2004, 20:33
Ya çok basit bir yerde takıldım galiba fakat aklım almadı. Şimddi while döngülü şöyle basit bi kod yazdım


---------------------------------------------------------

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
int sayi,enbuyuk,sayici=1;
printf ("Satis miktarını giriniz:");
scanf("%d",&sayi);
while (sayici<=10){
printf ("Satis miktarını giriniz:");
scanf("%d",&sayi);
sayici+=1;
}
return 0;
}
---------------------------------------------------------

Buraya eklemek istediğim ise programın tüm sayıları aldıktan sonra birbirleriyle karşılarştırması ve en büyük olanı bulup yazdırması fakat nası yapıcam çözemedim şimdi ttek bi değişken kullanıyorum "sayi" program nası karşılaştıracak kestiremedim bir yardım ederseniz sevindirik olurum. Şimdiden teşşekkürler...


Maltanar
26/09/2004, 21:59
Eğer doğru anladıysam sadece girilen en büyük sayıyı bulmaya çalışıyorsunuz. Bunu şöyle sağlayabilirsiniz:

//zaten döngü sayısı belli olduğu için while yerine for kullanmayı tercih ettim
int enbuyuk=0,sayi=0;

for(int i=0;i<10;i++)
{
scanf("%d",&sayi);
if (sayi>enbuyuk) enbuyuk=sayi;
}

Döngü çalışıp bittikten sonra enbuyuk değişkeni içinde klavyeden girilen en büyük sayı yer alacaktır.
Ancak eğer soruyu yanlış anlamışsam ve girilen sayıları küçükten büyüğe sıralamak işlemi yapmanız gerekiyorsa bu iş için birden fazla algoritma var (quicksort, bubblesort gibi); eğer doğru hatırlıyorsam C standart kütüphanelerinin içinde geliyorlar, o yüzden eğer sıralama yapmak istiyorsanız tekrar kod yazmanıza gerek yok.

(Kodda bir terslik vardı, düzelttim; Hard' n Dark sağolsun :))

Hard`n`Dark
26/09/2004, 22:01
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
int sayi,enbuyuk,sayici=1;
printf ("Satis miktarını giriniz:");
scanf("%d",&sayi);
enbuyuk=sayi;
while (sayici<=10){
printf ("Satis miktarını giriniz:");
scanf("%d",&sayi);

if (sayi>enbuyuk) {
enbuyuk=sayi;
}

sayici+=1;
}
return 0;
}