ÖRNEKLER
Armstrong Sayıları: Her basamağın, sayının basamak sayısı kadar kuvvetinin alınıp toplanmaları ile elde edilen sonuç armstrong sayılarını verir.0 dan 999 a kadar olan armstrong sayılarını bulan programı yazalım.
int sayı1, sayı2, b, o, y, s, f;
sayı1 = 0;
sayı2=1000;
for (sayı1; sayı1 <= sayı2; sayı1++)
{
y = sayı1 / 100;
o = sayı1 % 100;
s = o / 10;
b = o % 10;
f = (y*y*y + s*s*s + b*b*b);
if (sayı1 == f)
{
cout << sayı1 << endl;
}
}
-------------------------------------------------------------------------------------------------------
Asal Sayılar: 1 ve kendisinden başka pozitif tam böleni olmayan sayılara denir.
int a, c, d;
cout << "Son değeri giriniz....:";cin >> a;
for (int b = 2; b < a; b++)
{
d = 1;
for (int g = 2; g <= b / 2; g++)
{
if (b%g == 0)
d = 0;
}
if (d == 1)
cout << b << endl;
}
-------------------------------------------------------------------------------------------------------
Dikdörtgen çizelim.
cout << "Cizilecek dikdörtgen boyutu" << endl;;
cin >> x >> y;
for ( a = 0; a < x;a++)
{
for ( b = 0; b < y;b++)
{
cout << "#";
}
cout << endl;
}
-------------------------------------------------------------------------------------------------------
Bir cümle girilsin ve içinden bir harf istensin, istenen harfin dizideki yerlerini bulan programı yazalım.
int sayac = 0;
char d[50], a;
setlocale(LC_ALL, "Turkish");
cout << "Lütfen cümle giriniz....:";
gets_s(d);
cout << "İstenilen harfler....:";
cin >> a;
for (int x = 1; x < 51; x++)
{
if (d[x] == a)
{
sayac++;
cout << " " << x;
}
}
cout << endl;
char d[50], a;
setlocale(LC_ALL, "Turkish");
cout << "Lütfen cümle giriniz....:";
gets_s(d);
cout << "İstenilen harfler....:";
cin >> a;
for (int x = 1; x < 51; x++)
{
if (d[x] == a)
{
sayac++;
cout << " " << x;
}
}
cout << endl;
-------------------------------------------------------------------------------------------------------
Negatif bir sayı alınıncaya kadar girilen sayılar arasındaki en büyük sayıyı bulan programı yazalım.
int ek, eb, temp,a;
setlocale(LC_ALL, "TURKISH");
cout << "Değer gir" << endl;
cin >> ek >> eb;
while (ek>=0 && eb>=0)
{
if (ek <= eb)
cin >> ek;
else if (ek>eb)
{
temp = eb;
eb = ek;
ek = temp;
}
}
cout << "En Büyük....:" << eb<<endl;
setlocale(LC_ALL, "TURKISH");
cout << "Değer gir" << endl;
cin >> ek >> eb;
while (ek>=0 && eb>=0)
{
if (ek <= eb)
cin >> ek;
else if (ek>eb)
{
temp = eb;
eb = ek;
ek = temp;
}
}
cout << "En Büyük....:" << eb<<endl;
-------------------------------------------------------------------------------------------------------
İki diziyi çarpan ve trasnpozunu alan programı yazalım.
int i, j, diziboyutu, sayi, dizi[10][10], dizi2[10][10], sonuc[10][10] = { 0 };
cout << "Matrisinizin boyunu giriniz....:" << endl;
cin >> diziboyutu;
//Dizi elemeanlarını giriyoruz.
for (i = 0; i < diziboyutu; i++)
{
for (j = 0; j < diziboyutu; j++)
{
cin >> dizi[i][j];
}
cout << endl;
}
for (i = 0; i<diziboyutu; i++)
{
for (j = 0; j<diziboyutu; j++)
{
cout << " " << dizi[i][j];
}
cout << endl;
}
cout << endl << endl << endl;
//Transpoz.
for (i = 0; i<diziboyutu; i++)
{
for (j = 0; j<diziboyutu; j++)
{
cout << " " << dizi[j][i];
}
cout<< endl;
}
cout << endl << endl << endl;
//Matris çarpımı.
cout << "Carpilacak diziyi giriniz...:";
for (i = 0; i < diziboyutu; i++)
{
for (j = 0; j < diziboyutu; j++)
{
cin >> dizi2[i][j];
}
cout << endl;
}
cout << "Carpilacak diziyi giriniz...:";
for (i = 0; i < diziboyutu; i++)
{
for (j = 0; j < diziboyutu; j++)
{
cin >> dizi[i][j];
}
cout << endl;
}
for (int i = 0; i < diziboyutu; i++)
{
for (int j = 0; j < diziboyutu; j++)
{
for (int k = 0; k < diziboyutu; k++)
{
sonuc[i][j] += dizi[i][k] * dizi2[k][j];
}
cout << endl;
}
}
for (i = 0; i < diziboyutu; i++)
{
for (int j = 0; j < diziboyutu; j++)
{
cout << sonuc[i][j] << " ";
}
cout <<endl;
}
cout << "Matrisinizin boyunu giriniz....:" << endl;
cin >> diziboyutu;
//Dizi elemeanlarını giriyoruz.
for (i = 0; i < diziboyutu; i++)
{
for (j = 0; j < diziboyutu; j++)
{
cin >> dizi[i][j];
}
cout << endl;
}
for (i = 0; i<diziboyutu; i++)
{
for (j = 0; j<diziboyutu; j++)
{
cout << " " << dizi[i][j];
}
cout << endl;
}
cout << endl << endl << endl;
//Transpoz.
for (i = 0; i<diziboyutu; i++)
{
for (j = 0; j<diziboyutu; j++)
{
cout << " " << dizi[j][i];
}
cout<< endl;
}
cout << endl << endl << endl;
//Matris çarpımı.
cout << "Carpilacak diziyi giriniz...:";
for (i = 0; i < diziboyutu; i++)
{
for (j = 0; j < diziboyutu; j++)
{
cin >> dizi2[i][j];
}
cout << endl;
}
cout << "Carpilacak diziyi giriniz...:";
for (i = 0; i < diziboyutu; i++)
{
for (j = 0; j < diziboyutu; j++)
{
cin >> dizi[i][j];
}
cout << endl;
}
for (int i = 0; i < diziboyutu; i++)
{
for (int j = 0; j < diziboyutu; j++)
{
for (int k = 0; k < diziboyutu; k++)
{
sonuc[i][j] += dizi[i][k] * dizi2[k][j];
}
cout << endl;
}
}
for (i = 0; i < diziboyutu; i++)
{
for (int j = 0; j < diziboyutu; j++)
{
cout << sonuc[i][j] << " ";
}
cout <<endl;
}
-------------------------------------------------------------------------------------------------------
Zar atma oyunu yapalım. Bilgisayar kendisi 1000 kere zar atsın ve gelen sayıları tutsun.
int zar()
{
return rand () % 6 + 1;
}
{
return rand () % 6 + 1;
}
//main ekleyin
int bir=0, iki=0, uc=0, dört=0, bes=0, alti=0 ;
for (int i = 0; i < 1000; i++)
{
switch (zar())
{
case 1: bir++; break;
case 2: iki++; break;
case 3: uc++; break;
case 4: dört++; break;
case 5: bes++; break;
case 6: alti++; break;
default:
break;
}
}
cout << "Bir...: " << bir << endl;
cout << "İki...: " << iki << endl;
cout << "Üç...: " << uc << endl;
cout << "Dört...: " << dört << endl;
cout << "Beş...: " << bes << endl;
cout << "Altı...: " << alti << endl;
Not: rand fonksiyonu random sayılar verir ancak çalışma prensibinden dolayı her zaman aynı sayıları alırsınız. Farklı sayılar çıkması için srand(time(null)); fonksiyonunu kullanmanız lazım.
for (int i = 0; i < 1000; i++)
{
switch (zar())
{
case 1: bir++; break;
case 2: iki++; break;
case 3: uc++; break;
case 4: dört++; break;
case 5: bes++; break;
case 6: alti++; break;
default:
break;
}
}
cout << "Bir...: " << bir << endl;
cout << "İki...: " << iki << endl;
cout << "Üç...: " << uc << endl;
cout << "Dört...: " << dört << endl;
cout << "Beş...: " << bes << endl;
cout << "Altı...: " << alti << endl;
Not: rand fonksiyonu random sayılar verir ancak çalışma prensibinden dolayı her zaman aynı sayıları alırsınız. Farklı sayılar çıkması için srand(time(null)); fonksiyonunu kullanmanız lazım.
Not: Yukarıdaki bütün kodlar Visual Studio da yazılmıştır. Kodları direkt olarak kopyalayarak çalıştırabilirsiniz.