24 Ocak 2013 Perşembe
Bubble Sort algoritmasıyla girilen sayıları küçükten büyüğe sıralama
#include "stdafx.h"
#include <iostream>
using namespace std;
void bubblesort(int x);
void bubblesort(int x) { //efekanpulatli.blogspot.com bu program girilen sayilari kucukten buyuge siralar. yazim dili c++;
int * sayilar = new int [x]; // girilen degere gore yeni dizi olusturma;
int b,c=0;
do {
cin >> b;
sayilar[c] = b;
c++;
}while(c<x);
int y;
for(int i=0;i<x;i++) {
for(int a=0;a<(x-1);a++) {
if(sayilar[a] > sayilar[a+1]) {
y = sayilar[a+1];
sayilar[a+1] = sayilar[a];
sayilar[a] = y;
}
}
}
cout << "Sayilarin Kucukten buyuge dizilisi :" << endl;
for(int i=0;i<x;i++) {
cout << sayilar[i] << endl;
}
}
int main()
{
int a;
cout << "kac sayi gireceginizi yazin" << endl;
cin >> a;
bubblesort(a);
system("pause");
return 0;
}
23 Ocak 2013 Çarşamba
35 Faktoriyele kadar faktoriyel hesaplama
#include "stdafx.h"
#include <iostream>
using namespace std;
void olustur(int x) { // efekanpulatli.blogspot.com 35 faktoriyele kadar faktoriyel hesaplama
int fact[1000]={1}; // dikkat 35 faktoriyelden sonrasini hesaplamaz.
int elde=0,x2;
for(;x>=1;x--) { // x 1 e kadar for dongusu dondurur
for(int a=0;a<44;a++) { //her dizi elemanını çarpar
if(elde!=0) { // elde 0 dan farklıysa burayı çalıştır
if(fact[a+1] == 0) {
int b = (fact[a] * x) + elde;
fact[a] = ((fact[a] * x) + elde) % 10;
fact[a+1] = b / 10;
elde=0;
a++;
} else if(fact[a+1] != 0) {
int b = (fact[a] * x) + elde;
fact[a] = ((fact[a] * x) + elde) % 10;
elde = b / 10;
}
}
else if((fact[a] * x) < 10 && elde ==0) {
fact[a]*=x;
} else if((fact[a] * x) > 9 && elde == 0){
elde = (fact[a] * x) / 10;
fact[a] = (fact[a] * x) % 10;
}
}
}
for(int i=40;i>=0;i--) { // başını 0 a kadar yazdırma
if(fact[i]!=0) { x2 = 0; }
if(x2==0) {
cout << fact[i] ; } }
}
int main()
{
int a ;
cout << "enter number which will be fact" << endl;
cin >> a;
olustur(a);
system("pause");
return 0;
}
19 Ocak 2013 Cumartesi
On tabanındaki sayıyı iki tabanına çevirme
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int taban[30],a=0;
void tab(int x) {
do{
if(x%2==0) { taban[a] = 0 ;} else { taban[a]= 1; };
x=x/2;
a++;
}while(x/2!=0);
taban[a] = 1;
}
int main()
{
int x;
cin >> x;
tab(x);
for(;a>=0;a--) {
cout << taban[a] ;
}
system("pause");
return 0;
}
Ebob/Ekok/Permutasyon alma
#include "stdafx.h" // efekanpulatli ebob ekok permutasyon
#include <iostream>
using namespace std;
int fact(int a) { //factoriyel alma
int total=1;
for(;a>0;a--)
total*=a;
return total;
}
int min(int a,int b) { //2 sayinin minimumu
if(a<b)
return a;
else return b;
}
void ebob() { // void ebob();
cout << "ebobu alincak 2 sayiyi girin" << endl;
int a,b,valebob;
cin >> a >> b;
for(int c=1;c<=min(a,b);c++) { //girdigimiz degerlerin her 2 sinide c sayisi kalansiz bolene kadar deger atiyor
if(a%c == 0 && b%c == 0)
valebob = c; // dikkat burda break komutu kullanmadık cunku en buyugunu ariyoruz
}
cout << "\n" << a << " ve " << b << "sayilarinin en buyuk ortak boleni :" << valebob << "dir." << endl;
}
void ekok() { // void ekok();
int a,b,valekok=0;
cout << "ekoku alinacak 2 sayiyi girin" << endl;
cin >> a >> b ;
for(int c=1;c<=a*b;c++) {
if(c%a == 0 && c%b == 0) { // c sayisini girdigimiz degerlerden her 2 side kalansız boluyorsa valekok e c sayisini atiyoruz
valekok = c;
}
if(valekok!=0) //ilk degeri aldiginda duruyoruz cunku en kucuk unu arıyoruz
break;
}
cout << a << " ve " << b << " sayilarinin en kucuk ortak kati :" << valekok << "dir." << endl;
}
void permutasyon() {
int a,b,c;
cout << "permutasyon icin gerekli 2 sayiyi girin" << endl;
cin >> a >> b;
cout << a<< "'nin" << b << "lisi :" << fact(a) / fact(a-b) << "dir." << endl;
}
int main() {
int secim;
cout << "islem yapmak istediginiz secenegi yazin ve onaylayin:" << endl;
cout << "1:ebob;2:ekok;3:permutasyon" << endl;
cin >> secim;
switch(secim) {
case 1: {
ebob(); break; };
case 2: { ekok(); break;};
case 3:{ permutasyon(); break;};
default:{cout << "1,2 yada 3 secimini yapmaliydiniz" << endl; break;}
}
system("pause");
return 0;
}
Kaydol:
Yorumlar (Atom)



