C de Diziler-Max Min

ckrMe
05-07-2014, 16:14   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
5 mesaj
Kayıt Tarihi:Kayıt: Tem 2014

Arkadaşlar Diziler konusundayım ve şöyle bir örnek var:

''Kullanıcıdan 10 adet sayı alarak bu sayıları bir diziye koyan ve daha sonra bu diziyi birkez okuyarak dizi içerisindeki en büyük ve en küçük değerleri ekrana yazdıran bir program yazınız.''

Eğer iki sayı isteseydi max min bulabilirdim ama 10 sayıdan nasıl bulacağız,çok uzun olmazmı kısa bir yolu var mı ?

omer_6134
15-07-2014, 23:22   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 6
2,789 mesaj
Kayıt Tarihi:Kayıt: Nis 2007

int dizi[10],i;

for(i=0;i<10;i++){

printf("Bir eleman giriniz : ");

scanf("%d",&dizi);

}


bu şekilde 10 elemanı da diziye koyduk. Şimdi ilk elemana hem en büyük hem en küçük eleman diyelim

int max = dizi[0];

int min = dizi[0];

for(i=0;i<10;i++){

if(dizi>dizi[i+1]) { max = dizi; }

}


Bu şekilde tek tek kontrol etmesini sağladık. Bi ifade, dizinin diğer elemanından büyükse max eleman o dizide ki o eleman oluyor. Aynı şekilde en küçük sayıyı da bulursun artık

Artxzta
05-03-2015, 00:33   |  #3  
Taze Üye
Teşekkür Sayısı: 0
6 mesaj
Kayıt Tarihi:Kayıt: Mar 2015

Buyur;

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
#include <stdio.h> #include <limits.h> // INT_MIN & INT_MAX (Tam sayıların alabildiği en küçük ve en büyük değeri tutan kütüphane) int max(int *sayilar) {   int i, n, max;   for (i = 0, n = sizeof(sayilar), max = INT_MIN; i < n; i++)   {     if (sayilar[i] > max)     {       max = sayilar[i];     }   }   return max; } int min(int *sayilar) {   int i, n, min;   for (i = 0, n = sizeof(sayilar), min = INT_MAX; i < n; i++)   {     if (sayilar[i] < min)     {       min = sayilar[i];     }   }   return min; } void main() {   int i, n, dizi[10];   for (i = 0, n = sizeof(dizi) / sizeof(int); i < n; i++)   {     printf("%d. sayiyi giriniz! \n", i + 1);     scanf_s("%d", &dizi[i]);   }   printf("En buyuk sayi = %d \n", max(dizi));   printf("En kucuk sayi = %d \n", min(dizi));   getchar();   getchar(); }