#include <stdio.h>
#include <conio.h>
/* SORU:
dışardan illaki asal sayi girilcek
dışardan girilen asal sayiya kadar
*/
//int AsalKontrol(int); // dönüş değeri 0 ise asal değil , 1 ise asalint AsalKontrol(int sayi)
{
int i;
for (i=2;i<sayi;i++)
if (sayi%i==0)
return 0; // asal değil ise
return 1; // asal ise}
int main()
{
int i;
int sayi;
do{
printf("Bir asal sayi giriniz: ");
scanf("%d",&sayi);
if (AsalKontrol(sayi)!=1)
printf("\n\nAsal sayi girmediniz, lutfen tekrar deneyin..\n");
}while (AsalKontrol(sayi)!=1);
for (i=2;i<=sayi;i++)
{
if (AsalKontrol(i)==1)
{
if (AsalKontrol(i+2)==1&&AsalKontrol(i+6)==1)
{
printf("\n%3d - %3d - %3d Uclusu Asaldir",i,i+2,i+6);
}
else
printf("\n%3d - %3d - %3d Uclusu Asal Degildir",i,i+2,i+6);
}
}
getch();
return 0;
}
1 Haziran 2010 Salı
Asal Üçlüler (3. Quiz)
Rastgele sayı üreterek Mükemmel Sayı bulmak (4.Quiz)
Bu soru biraz saçma olabilir, birinci grup ile ikinci gruba biraz farklı anlatılmış bir soru.Program rastgele sayı ürettiği için her seferinde mükemmel sayı bulmuyor yada birkaç defa bulabiliyor.Ancak quizi değerlendiren asistan çözümü kabul etmiştir.
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
//4.Quiz - Kürşat Topcuoğlu 090202047 i.ö.
/*
Konu:
*srand ile 3 basamaklı sayı üret
*Sayı mükemmel sayı ise ekrana yazdır
*Mukemmel sayılar: 4,28,496
*/
int main()
{
int TamBolenTop=0,Sayi,j,i;
srand(time(0)); // Program her çalıştığında random farklı değerle başlar.
for(i=1;i<=2000;i++)
{
Sayi=rand()%900+100; // [1,999] aralığında rastgele sayı üretiliyor
TamBolenTop=0; // Üretilen Her Sayi için 0'dan başlamalı
//Rastgele Uretilen Sayının Tam Bölenleri Toplamı Bulunuyor
for(j=1;j<Sayi;j++)
if (Sayi%j==0)
TamBolenTop+=j;
//Mükemmel Sayı Eşitliği Kontrol Ediliyor
if (i==1) printf(" 3 BASAMAKLI MUKEMMEL SAYILAR \n");
if (TamBolenTop==Sayi)
printf("%d\n",Sayi);
}
getch();
return 0;
}
Kabarcık Sıralama (5. Quiz)
/*Kürşat Topçuoğlu 090202047 II.Öğretim*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <ctype.h>
#define temizle system("cls")
/* Kabarcık Sıralama */
void Sirala(int dizi[])
{
int j,Kontrol=0;
int i,temp,sayac=1;
/* kontrol=1 ise siralama tamamlanmıştır, 0 ise hala siralanmayan elemanlar olabilir*/
while (Kontrol==0)
{
Kontrol=1;
for (i=0;i<9;i++) // i+1=son eleman olacağından 9 defa döner
{
if (dizi[i]>dizi[i+1]) // i'ninci eleman (i+1). den büyükse yer değiştirir
{
temp=dizi[i];
dizi[i]=dizi[i+1];
dizi[i+1]=temp;
Kontrol=0;
}
}
printf("\n%d. iterasyon: ",sayac++);
for (i=0;i<10;i++)
printf("%2d ",dizi[i]);
}
}
int main()
{
int dizi[10],i;
/*Dizinin Elemanlarının Girilmesi*/
for (i=0;i<10;i++)
{
printf("%d. Sayiyi Giriniz: ",i+1);
scanf("%d",&dizi[i]);
}
temizle;
printf("Elemanlar: ");
for (i=0;i<10;i++)
printf("%2d ",dizi[i]);
printf("\n");
Sirala(dizi);
printf("\n\n");
getch();
return 0;
}
Binary Search (6. Quiz)
#include <stdio.h>
#include <stdlib.h> //system için gerekli
#include <conio.h> //getch() için gerekli
#include <time.h>
#define Boyut 10
#define Temizle system("cls")
void Sirala(int[]);
void DiziyiYaz(int []);
int main()
{
int *dizi=(int *)malloc(Boyut*sizeof(int));
char *adres=malloc(20);
int ilkDeger=0;
int sonDeger=Boyut-1;
int Aranan,araDeger,i;
srand(time(NULL));
for (i=0;i<Boyut;i++)
dizi[i]=rand()%100+1;
//for(i=0;i<Boyut;i++)
//adres[i]=&dizi[i];
Temizle;
printf("\tRastgene Atanan %d Sayi: ",Boyut);
DiziyiYaz(dizi);
Sirala(dizi); //Dizi küçükten büyüğe siralanir
printf("\n\n %d",sizeof(adres[0]));
printf("\n\tDizinin Siralanmis Hali: ");
DiziyiYaz(dizi);
printf("\n\n\tAranacak Sayiyi Giriniz: ");
scanf("%d",&Aranan);
while (ilkDeger <= sonDeger)
{
araDeger=(sonDeger+ilkDeger)/2;
if (dizi[araDeger]==Aranan) break;
else if (dizi[araDeger]>Aranan)
sonDeger=araDeger;
else ilkDeger=araDeger+1;
}
free(dizi);
if (ilkDeger>sonDeger) printf("\n\tAranan Sayi Dizi Icerisinde Yok!");
else printf("\n\n\n\n\tDizi[%d] = %d bulundu..",araDeger,Aranan);
getch();
return 0;
}
/* Dizinin Elemanlarını Küçükten Büyüğe Siralayan Fonksiyon*/
void Sirala(int dizi[])
{
int Temp,Kontrol=0,i;
while (Kontrol==0)
{
Kontrol=1;
for (i=0;i<Boyut-1;i++)
if (dizi[i]>dizi[i+1])
{
Temp=dizi[i];
dizi[i]=dizi[i+1];
dizi[i+1]=Temp;
Kontrol=0;
}
}
}
/* Gönderilen "Boyut" elemanlı dizinin elemanlarını ekrana yazdiran fonksiyon*/
void DiziyiYaz(int dizi[])
{
int i;
for (i=0;i<Boyut;i++)
printf("%3d ",dizi[i]);
}
Cümle içerisinde kelime arama (7. quiz)
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#define Temizle system("cls")
/* 2o karakter 5 karakter ters */
int sayac=1;
void AraBulYaz(char[],char[],int);
void TersCevir(char[]); // Gönderilen karakter dizisini ters cevirir
int main()
{
char cumle[20];
char aranan[5];
int i,uz_cumle,uz_aranan;
printf("\tEn fazla 20 karakterli cumle giriniz: ");
gets(cumle);
printf("\n\tEn Fazla 5 karakterli bir kelime giriniz: ");
gets(aranan);
uz_cumle = strlen(cumle);
uz_aranan = strlen(aranan);
TersCevir(aranan); // Aranacak kelime ters cevrildi
Temizle;
printf("\tGirilen cumle: %s\n",cumle);
for(i=0;i<uz_cumle;i++)
AraBulYaz(cumle,aranan,i);
printf("\n\n\tArama Sona Erdi...");
getch();
return 0;
}
void AraBulYaz(char cumle[],char aranan[],int i)
{
int j,k=0;
for (j=i ; j<i+strlen(aranan) ; j++ )
{
if(cumle[j]!=aranan[k])
return;
k++;
}
printf("\n\t\"%s\" kelimesi %d. defa bu aralıkta bulundu: [%d,%d]",aranan,sayac++,i,i+strlen(aranan)-1);
}
void TersCevir(char kelime[])
{
char temp[5];
int uzunluk,i;
uzunluk=strlen(kelime);
for(i=0;i<=uzunluk-1;i++) //Kelimenin Tersini Temp'e aktarır
temp[i] = kelime[uzunluk-1-i];
temp[uzunluk]='\0';
for(i=0;i<=uzunluk-1;i++) //Kelimeyi Temp ile eşitler
kelime[i]=temp[i];
return;
}
Kaydol:
Kayıtlar (Atom)
