27 Aralık 2013 Cuma

C Konsol Uygulamalar İki Tam Sayı Arasındaki Asal Sayıları Bulma



KONU : C Konsol Uygulamalar - c konsoldan girilen iki tam sayı arasındaki asal sayıları bulma uygulaması.
ETİKETLER: c konsol asal - c konsol asal sayılar - c konsol asal sayı bulma - asal sayıları bulma - asal sayılar








#include< stdio.h >
#include< stdlib.h >
#include< conio.h >  

int main(void)
{
 bool devammi = true;
 int asalsayilar[1000];


 //programdan istenilene kadar çıkmak için sonsuz döngü başlat
 while (devammi)
 {
  //bu programda konsoldan girilen iki sayı arasındaki 
  //asal sayıları bulacağız

  int sayi_1, sayi_2, asalsayisayisi = 0;
  bool asalmi = false;
  //Her döngüde içeriği temizlemek için geçmişi sil.
   
  for (int i = 0; i < 1000; i++)
  {
   asalsayilar[ i ]=-1;
  }

  //öncelikle konsoldan iki sayı girilmesini istiyoruz.

  printf("birinci sayıyı giriniz\t:");

  scanf("%d",&sayi_1);
  
  printf("İkinci sayıyı giriniz\t:");
  
  scanf("%d",&sayi_2);

  //eğer ikinci sayı birinci sayıdan küçük ise
  //ikinci sayıyı tekrar giriilmesini istiyoruz

  while (sayi_2 < sayi_1)
  {
   printf("İkinci sayı birinci sayidan buyuk olmalı\n");
   printf("ikinci sayiyi tekrar giriniz\t:");
   scanf("%d",&sayi_2);
  }

  int a = 2;

  //bu for döngüsünde girilen ilk sayıdan başlayarak 
  //ikinci sayıya kadar olan sayıları teker teker asal  mı 
  //değil mi diye kontrol ediyoruz
  //asal sayıları arraylist de topluyoruz sonradan ekrana yazdırmak için

  for (int i = sayi_1; i <= sayi_2; i++)
  {
   a = 2;
   asalmi = false;
   while (a <= i / 2)
   {
    if (i % a == 0)
     asalmi = true;
    a++;
   }

   // sayı asal ise bu sayı listemize ekliyoruz

   if (!asalmi && i != 1)
   {
    asalsayilar[asalsayisayisi++]=i;
   }

  }


  //iki sayı arasındaki sayıları kontrol ettikten sonra
  //bulunan asal sayıları konsol ekranına yazdırıyoruz

  printf("%d ile %d arasinda %d adet asal sayi vardir. Bunlar:\n",sayi_1,sayi_2,asalsayisayisi);
  for (int i = 0; i < asalsayisayisi; i++)
  {
   printf("%d",asalsayilar[ i ]);
   if (i + 1 < asalsayisayisi) printf(",");
  }


  //kullanıcıya devam edip etmek istemediğini soruyoruz.

  printf("\n\n***************************\ndevam etmek için ->1  giriniz\nçıkış için       ->0  giriniz\n");
  
  int durum = 0;
  
  scanf("%d",&durum);
  
  if (durum == 0)
   devammi = false;
  else
   printf("Girilen değer: 1\nprogram devam ediyor\n");
 }

}

/*      PROGRAM ÇIKTISI 
* 
birinci sayıyı giriniz  :1
İkinci sayıyı giriniz   :17
1 ile 17 arasinda 7 adet asal sayi vardir. Bunlar:

2,3,5,7,11,13,17

***************************
devam etmek için ->1  giriniz
çıkış için       ->0  giriniz

1
Girilen değer: 1
program devam ediyor

birinci sayıyı giriniz  :2
İkinci sayıyı giriniz   :1222
2 ile 1222 arasinda 199 adet asal sayi vardir. Bunlar:

2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,1
07,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,2
23,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,3
37,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,4
57,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,5
93,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,7
19,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,8
57,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,9
97,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,10
97,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217

***************************
devam etmek için ->1  giriniz
çıkış için       ->0  giriniz

1
Girilen değer: 1
program devam ediyor

birinci sayıyı giriniz  :3
İkinci sayıyı giriniz   :99
3 ile 99 arasinda 24 adet asal sayi vardir. Bunlar:

3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

***************************
devam etmek için ->1  giriniz
çıkış için       ->0  giriniz

0

*/


   





Etiketler

Array (9) bool (3) break (1) BubbleSort (1) C (23) char (4) Char Sınıfı (1) conio.h (5) Console (4) Dizi (1) Diziler (11) Döngüler (24) File Sınıfı (1) Fonksiyon (3) For (12) Function (2) Game (1) Getch (1) gets (1) if-else (6) if-else örnekleri (15) int (8) Konsol (16) Konsol Okuma (16) Konsol Yazdırma (17) Matematik (14) Oyun (1) Pointer (2) printf (9) scanf (8) Sort (1) stdio.h (10) stdlib.h (8) strcpy (1) String (1) string.h (2) Swap (1) Switch Case (3) time.h (1) while (5)