#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(b)
int i,led,set;
int sayac[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7C,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
// TODO: USER CODE!!
set_tris_b(0x00);
output_b(0x00);
set_tris_a(0xff);
while(1){
for(i=0;i<16;i++){
if(input(pin_a0)){
output_b(sayac[i]);
}
delay_ms(10);
output_bit(pin_a0,0);
}}}
26 Aralık 2014 Cuma
25 Temmuz 2014 Cuma
BİR DİZİ İÇERİSİNDEKİ SAYILARI BİRBİRİ İLE ÇARPMA
#include<iostream>
#include
<math.h>
using
namespace std;
int main(){
int
i=0,carpim=1;
int
sayi[10]={1,2,3,4,5,6,7,8,9,1};
while(i<10){
carpim=carpim*sayi[i];
i++;
}
cout<<"dizi
icindeki sayilarin carpimi ="<<carpim;
system("pause");
return 0;
}Bir dizi
içindeki sayıları biribiri ile çarpma işlemi yaptık ve ekrana gösterdik.Önce
dizi içinde sayıları atadık while döngüsü ile teker teker alıp önceden
tanımladığımız carpim değişkenine atıyoruz.Döngü bittikten sonra ekrana
yazdırıyoruz.
İKİ BOYUTLU DİZİ
#include<iostream>
#include
<math.h>
#include<cstring>
using
namespace std;
int main(){
int i,j;
string
ad[2][2];
for(i=0;i<2;i++){
for(j=0;j<2;j++){
cin>>ad[i][j];
}
}
for(i=0;i<2;i++){
for(j=0;j<2;j++){
cout<<"["<<i<<"]"<<"["<<j<<"]=
"<<ad[i][j]<<"
";
}cout<<endl;
}
system("pause");
return 0;
} Bir diziye
önce klavyeden 4 isim girerek bundan sonra bu isimleri ekrana yazdıran programı
yaptık.Bunu iki boyutlu bir dizi tanımlayarak yaptık bunun için iki for döngüsü
kullandık birinci for döngüsüyle satır sayısını tuttuk ikinci for döngüsü ile sütunları yerleştirdik.Ve
sırasıyla isimler girdik.Sonra bu isimleri ekrana göstermek için yine iki for
döngüsü kullandık
TERNARY KOMUTU
#include<iostream>
using
namespace std;
int main(){
int x,y;
string e,t;
cout<<"birincisi";
cin>>x;
cout<<"ikincisi";
cin>>y;
if(x>y){
cout<<"birinci
sayi buyuktur\n";
e=x%2>0 ?
("sayi tektir"):(" sayi cifttir");
cout<<e;}
else {
cout<<"ikinci
sayi buyuktur\n";
t=y%2>0 ?
("sayi tektir"):(" sayi cifttir");
cout<<t;
}
system("pause");
return 0;
}
Burada c++ en
sevdiğim koddan bahsedeceğim …ternary komutu bu kod çalışması (koşul ?
koşul_doğru : koşul _yanlış) prensibi ile çalışır
.Klavyeden iki sayı aldık bu sayılardan hangisinin
büyük
olduğunu if döngüsü ile bulduk ve if
döngüsü içindeki ternary
komutu ile sayinin
teklik çiftlik durumuna baktık eger sayinin modu
0’dan büyük ise yani sayi tek ise birinci yani sol taraftaki komutu string olarak
belirlediğimiz e değişkenine atadık sayi çift olsaydı sağ taraftaki komut e değişkenine atanır ve cout ile ekrana
yazılır.
ÇARPIM TABLOSU
#include<iostream>
using
namespace std;
main(){
int i,j,t;
for(i=1;i<10;i++)
{
t=0;
for(j=1;j<10;j++){
t=i*j;
cout<<i<<"X"<<j<<"=
"<<t<<endl;
}
cout<<endl<<endl;
}
İlk okulda
kullandığımız çarpım tablosunu yaptık.İki for döngüsü ile birinci for döngüsü
ile bir sayı aldık ikinci for döngüsündeki 1 den 9 a kadar sırayla çarptık ekrana
yazdırdık.Bu birinci for döngüsünün i değeri 9 olana dek devam eder ve döngü
biter.t değişkenini
birinci döngüde sıfıra eşitelidik
çünkü ikinci for döngüsünde t
farklı değerler alır tedbir amacıyla
yaptık t=0 eşitlemezsekte değişen bişey olmaz ama daha büyük projelerde bunun
önemli olacağı söyleniyor.
BREAK VE CONTİNUE KOMUTLARI
#include<iostream>
using
namespace std;
int main(){
int i ;
for(
i=0;i<=20 ;i+=2)
{
if(i==10)
continue;
if(i==14)
break;
cout<<i<<endl;
}
system("pause");
return 0;
}
Ekran çıktısı
0 2
4 6 8 12
Break
(kırmak) continue (atlamak) komutları anlamları gibi davranırlar. For döngüsü
ile çift sayıları ekrana yazdırmak için kullanıldı i=10 geldiğinde cotinue
komutu ile 10’u ekrana yazdırmaz atlar i=14 oldugunda 14 ekrana yazdırmaz döngüden çıkar.
asal sayılar
#include<iostream>
using namespace std;
int main()
{
int a,c,b;
for(a=2;a<=500;a++){
c=1;
for(b=2;b<a;b++){
if(a%b==0){
c=0;
}
}
if(c==1)
{cout<<"asal sayilar degeri: "<<a<<endl;}
}
system("pause");
return 0;
}
Asal sayılar sadece
kendisine ve bire bölünen sayılara denir.Bizde bunu uyguladık programımızda
for döngüsü ile 500’ kadar döndürürken diğer for döngüsü ile bir ve kendisi hariç sayılara
böldü if koşulllarına bakarak ekrana
asal sayıları yazdırdık.Burda c değişkeni bizim kilit noktamız c=0 olduğunda hiç bişey olmadan döngüye
devam ediyor c=1 olduğunda
ekrana asal sayıl olduğunu gösterir.
17 Temmuz 2014 Perşembe
armstrong sayılar
ARMSTRONG SAYILAR
#include<iostream>
using namespace std;
int main(){
int
toplam=0,i,j,k,kup=0;
for(i=1;i<9;i++){
for(j=0;j<9;j++){
for(k=0;k<9;k++){
toplam=k+j*10+100*i;
kup=i*i*i+j*j*j+k*k*k;
if(toplam==kup){
cout<<toplam<<endl;
}
}
}
}Armstrong sayılar her basamağın
sayının basamak sayısı kadar kuvvetinin alınıp toplamları ile elde edilen sonuç
sayıya eşit ise bu sayılara armstrong sayılar denir.Programımızda üç tane for
döngüsü oluşturduk yani sayımız üç basamaklı bir sayı birinci for döngüsünü 1
den başladık çünkü 0’ dan başlatırsak (011 gibi) üç basamaklı bir sayı
olmaz.Bir örnekle daha rahat anlarız i=1,j=0,j=0 olduğunda
toplam
değikenine gider sonucumuz 100 olur kup
değişkenimizde 1*1*1+0*0*0+0*0*0=1
olur eğer toplam
değişkenimiz ile kup değişkenimiz aynı ise cout
ile toplam değişkenimiz ekrana yazdırırız bu işlem 999 olduğunda durur.
Bir sayının %35 nin 100'den büyük yada küçük olduğunu gösteren program
#include<iostream>
using namespace std;
int main(){
int x;
cout<<"sayi
gir: ";
cin>>x;
if
(x*35/100>1000)
cout<<"sayi
1000'den buyuktur";
else
cout<<"sayi
1000'den kucuktur";
system("pause");
return
0;
}
Bir sayının %35 nin 100 den küçük
veya büyük olduğunu gösteren programı yazdık.Klavyeden bir sayi girdik bu
sayiyi if koşulunun içinde kontrol ettik.Eger sayinin %35 100’den küçük ise
ekrana kucuktur yazisi yazdırdık else yani değil ise 100’ den buyuktur
yazdırdık
14 Temmuz 2014 Pazartesi
40'dan başlayarak 4'e kadar sayıların arasındaki çift sayıları bulan ve toplamlarını da ekrana yazdıran program
#include<iostream>
using namespace std;
int main()
{
int y,toplam=0;
for(x=40;x>=4;x--)
{
if(x%2==0)
{
cout<<"cift sayilar"<<x<<endl;
toplam+=x;}
}
cout<<endl<<toplam;
system("pause");
return 0;
}
programda for döngüsü ile 40 dan azalarak 4'e kadar sayiları döndürdük.eğer x sayılarının içinde çift sayı var ise bunu ekrana yazdırdık.toplam değişkeni ile bu sayıları topladık. döngü bittiğinde ise toplam değişkenini ekrana yazdırdık.
using namespace std;
int main()
{
int y,toplam=0;
for(x=40;x>=4;x--)
{
if(x%2==0)
{
cout<<"cift sayilar"<<x<<endl;
toplam+=x;}
}
cout<<endl<<toplam;
system("pause");
return 0;
}
programda for döngüsü ile 40 dan azalarak 4'e kadar sayiları döndürdük.eğer x sayılarının içinde çift sayı var ise bunu ekrana yazdırdık.toplam değişkeni ile bu sayıları topladık. döngü bittiğinde ise toplam değişkenini ekrana yazdırdık.
12 Temmuz 2014 Cumartesi
10 kişilik sınıfın notlarını klavyeden alarak ortalamasını ekrana yazdıran program
#include<iostream>
using namespace std;
int main(){
float toplam=0;
int sinif[10],i=0;
while(i<10)
{
cout<<i+1<<". kisinin aldigi not:" ;
cin>>sinif[i];
toplam=toplam+sinif[i];
i++;
}
cout<<"Sinifin ortalamasi:"<<toplam/10;
}
Burda sinif adında int dizi oluşturduk while döngüsü ile birinci diziden başlayarak (sinif [0]) degeri girdik ve bu sinif[0] degerini toplam değişkenine atadık ve döngü bittiğinde ise toplam değişkenini 10 bölerek ortalamasını alıp ekrana yazdırıdık..
using namespace std;
int main(){
float toplam=0;
int sinif[10],i=0;
while(i<10)
{
cout<<i+1<<". kisinin aldigi not:" ;
cin>>sinif[i];
toplam=toplam+sinif[i];
i++;
}
cout<<"Sinifin ortalamasi:"<<toplam/10;
}
Burda sinif adında int dizi oluşturduk while döngüsü ile birinci diziden başlayarak (sinif [0]) degeri girdik ve bu sinif[0] degerini toplam değişkenine atadık ve döngü bittiğinde ise toplam değişkenini 10 bölerek ortalamasını alıp ekrana yazdırıdık..
11 Temmuz 2014 Cuma
10 adet sayıyı klavyeden alan ve ekrana gösteren program
#include<iostream>
#include <math.h>
using namespace std;
int main(){
int i=0,j=0;
int sayi[5][2];
for(i=0;i<5;i++){
for(j=0;j<2;j++){
cin>>sayi[i][j];
}
}
for(i=0;i<5;i++){
for(j=0;j<2;j++){
cout<<"sayi["<<i<<"]"<<"["<<j<<"]="<<sayi[i][j]<<" ";
}
cout<<endl;
}
En başta [5,2] matris oluşturduk ve for döngüleriyle klavyeden sayıları adreslerine yerleştirdik.Sayıları girdikten sonra tekrar for döngüsü ile bu sayıları ekranda gösterdik.Dizi iki boyutlu olduğu için iç içe for döngüsü kullandık.For döngüsünün ilkinde i=0 olduğu zaman alttaki döngüye geçer önce[0,0] sonra [0,1] degerini alır j=2 olmayacığı için döngü biter i=1 olur ve tekrar [1,0] [1,1] yerleri açılır i=5 geldiğinde döngüden çıkılır
[0,0] [0,1]
[1,0] [1,1]
[2,0] [2,1]
[3,0] [3,1]
[4,0] [4,1] dizilerine sıra ile değişken atarız
10 Temmuz 2014 Perşembe
1 den 100 kadar 5 bölünen 7'ye bölünmeyen sayıların ekrana gösteren ve bu sayiları toplayan program
#include<iostream>
using namespace std;
int main()
{
int x,toplam=0;
for(x=1;x<=100;x++)
{
if(x%5==0 && x%7!=0){
cout<<x<<endl;
toplam+=x;}
}
cout<<endl<<toplam;
system("pause");
return 0;
}
Burada for ile 1 den 100 kadar olan sayıların döndürürken if ' koşul içindeki olan sayıları ekrana yazdırır ve toplam değişkenine atar döngü bittiğinde toplam değişkeninide ekrana yazdırır
9 Temmuz 2014 Çarşamba
1'den n sayısına kadar sayıların toplamı
#include<iostream>
using namespace std;
int main()
{
int x=0,n,toplam=0;
cout<<"0 dan n'e kadar toplama n sayisini giriniz";
cin>>n;
do{
x++;
toplam=toplam+x;
}while(x<n);
cout<< toplam;
system("pause");
return 0;
}
Önce x,n,toplam değişkenlerini tanımladık x=0 başlangıc degeri n klavyeden girilen sayı ve 'toplam' her dönüşte sayıları toplayarak bellekte tutan değişken toplama 0 atadık çünkü bilgisayar toplama değişkenine rasgele sayı atyabiliyor biz toplamı sabitledik.Bizden ilk önce n değikenini istedi cin ile girdik [c-input(giriş) c-out(çıktı) ]Do while döngüsüne gelelim burada x'i bir artırdı yani x=1 oldu ve x'i toplam değişkeni ile toplayarak toplam değişkenine atadı(toplam=0+1) toplam=1 oldu sonra x girilen sayıdan küçük mü kontrol etti dogru ise döngüye devam etti sonra x'i tekrar artırdı x=2 oldu ve toplam değikeni ile x'i topladı (toplam=1+2) ve x=100 oldugunda dögüyü bitirir ve cout ile ekrana gösterilir.
OPERATÖRLERİN İŞLEM SIRASI
#include<iostream>
using namespace std;
int main(){
int i=1;
cout<<++i<<endl<<i<<endl<<i++<<endl<<i;
}
bu programda ekran cıktısının
2
2
3
4
bu yanlıs olur.Bunun sebebi islem öncelik sırası ile ve operatörlerin bir kısmı soldan sağa doğru işlenir bir kısmı sağdan sola dogru işlendiği içindir.Sayfanın sonunda işlem öncelikleri ve sağdan ve soldan başlama tabloları mevcut..
Örneğimize gelelim burada kod sağdan başlar işlem 'i' değişkenini ekrana yazacaktır ancak işlem önceliğinden dolayı i++ değişkenine gider ve i=1 ekran çıktısını verir 'i' artık 2 olmuştur(i=2) ve kod yine 'i' değişkenine gidecektir fakat ++i operatörü vardır ve ekran cıktımız i=3 ekran cıktısını verir bundan sonra başka operatör olmadıgı için i=3 olarak kalır dogru ekran cıktımız
3(++i)
3(i)
1(i++)
3(i)

kaynak:http://atlas.selcuk.edu.tr/1205312/operatorler.pdf
#include<iostream>
using namespace std;
int main(){
int i=1;
cout<<++i<<endl<<i<<endl<<i++<<endl<<i;
}
bu programda ekran cıktısının
2
2
3
4
bu yanlıs olur.Bunun sebebi islem öncelik sırası ile ve operatörlerin bir kısmı soldan sağa doğru işlenir bir kısmı sağdan sola dogru işlendiği içindir.Sayfanın sonunda işlem öncelikleri ve sağdan ve soldan başlama tabloları mevcut..
Örneğimize gelelim burada kod sağdan başlar işlem 'i' değişkenini ekrana yazacaktır ancak işlem önceliğinden dolayı i++ değişkenine gider ve i=1 ekran çıktısını verir 'i' artık 2 olmuştur(i=2) ve kod yine 'i' değişkenine gidecektir fakat ++i operatörü vardır ve ekran cıktımız i=3 ekran cıktısını verir bundan sonra başka operatör olmadıgı için i=3 olarak kalır dogru ekran cıktımız
3(++i)
3(i)
1(i++)
3(i)
kaynak:http://atlas.selcuk.edu.tr/1205312/operatorler.pdf
c++ basit programlar
Bu yazımda c++ basit örnek kodlar yayınlayacağım
1'DEN 100 KADAR SAYILARI TOPLAYAN PROGRAM
#include<iostream>
using namespace std;
int main(){
int x,toplam=0;
for (x=1;x<=100;x++)
{
toplam=toplam+x;
}
cout<<toplam<<endl;
}
Burada for dögüsü ile x adında bir değişkenle 1 den başlayarak 100 e
kadar sayıları koşturdum her sayıyı dödürürken toplama attım mesala en
başta toplam değişkeni sıfırdı for döngüsüne x=1 başladı
toplam=toplam+1(toplam=0+1) gibi düşünürüz ve toplam değişkenimiz 1
degerini aldı x=2 aldıgında toplam=toplam+2(toplam=1+2)gibi
düşünürüz ve x=100 den sonra döngü biter ve ekrana toplam değişkeninin
son degerini gösterir
Kaydol:
Yorumlar (Atom)