C Dilinde Sayıları Büyükten Küçüğe Sıralama

Scanf’ten bahsetmemişiz bahsedelim hemen. Scanf fonksiyonunun prototip bildirimi de printf fonksiyonu gibi stdio.h başlık dosyasında yer alır. Yazdığımız programda karşı taraftan veri almak istediğimizde adreslerle iş yapan sevgili ‘scanf’i kullanırız.

Puts() ise scanf() gibi bizden bilgiyi alır. Aslında ‘puts’ un asıl görevi, ileride göreceğimiz katarları alıp, atamak için kullanmaktır. Şöyle ki; sevgili scanf() bizden şu cümleyi almak için yetersizdir: “Programlamayı ögrenmek istiyorum”. Çünkü boşluk gördüğü anda, veriyi almayı keser ve sadece “Programlamayı” kelimesinin atamasını yapar. Boşluk içeren böyle cümleler için puts( ) ve gets( ) fonksiyonları kullanılır.

Bu bilgiler ışığında şimdi gelin programa bakalım. Burada görüldüğü gibi bir sayı dizimiz var x[5]; i ve j ise if yardımıyla 2 sayı arasında kıyaslama yapmak için kullanılacak. ‘Gec’ değişkeni kıyaslama için verilen gecici bir değer. Şimdi gelin sıralamaya başlayalım:

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 main()
 {
   int x[5],i,j,gec; puts("5 tane sayi gir:");
   for(i=0;i<5;i++)
  {
    printf("%d Sayi: ",i);
    scanf("%d",&x[i]);
  }

   for(i=0;i<4;i++)
  {
   for(j=i+1;j<5;j++)
   {
     if( x[j]<x[i] )
    {
      gec = x[i];
      x[i] = x[j];
      x[j] = gec;
    }
   }
  }
   for(i=0;i<5;i++)
   printf("\n %d",x[i]);
   getch();
 }
Reklamlar

C Dilinde Mod Alarak 1’den 20’ye kadar Tek Sayıları Yazdırma (Continue ile)

C dilinde mod almak istersek bunu nasıl yaparız? Tek sayıları nasıl yazarız?

Aşağıda gördüğünüz gibi ‘i’ değişkenini integer tipinde ‘for’un içinde tanımlayabiliyoruz.

Şimdi gelelim nasıl çalıştığına:

‘i’ nin 2’ye göre modu 0 ise (yani bir sayı 2’ye bölündüğünde kalan 0’sa) bu bir çift sayıdır. Bu durumda ekrana yazdırılmaması için döngü bir sonraki adıma geçip ekrana tek sayıları basar. (‘continue‘ ile bu sağlanır.)

#include <stdio.h>
#include <conio.h>  // getch() fonksiyonun kütüphanesi. Bu fonksiyon programın durmasını sağlar.

int main()
{
 for(int i=0; i<20; i++)
 {
   if(i%2 == 0) continue;
   printf("%d \n",i);
 }
   getch();
}

C Dilinde 1’den 20’ye Sayıları yazdır ama 18 ile 28 arasındakiler olmasın!

Evet geldik şimdi başka bir örneğe. Başlıktan da gördüğünüz gibi şimdi 1’den 40’a kadar olan rakamları yazdıracağız. Ancak 18 ile 28 arasındaki sayılar olmayacak. Gördüğünüz gibi bunun için continue diye bir komut kullandık. Gövdenin içindeki continue komutu döngüyü devam ettirmek için kullanılır. Nasıl kullanıldığını görmeniz için burada kullandım yani bunu illa burada kullanmak gibi bir zorunluluğunuz yok.

#include <stdio.h>

int main()
{
 int x;
 for(x=1;x<=40;x++)
 {
  if(x>18 && x<28)
  continue;
  printf("%d \n",x);
 }
}