2. Dereceden Denklemin Köklerini Bulan Program

Benzer belgeler
C++ Dilinde Bazı Temel Algoritmalar

Diziler (Arrays) Çok Boyutlu Diziler

C++ Dilinde Bazı Temel Algoritmalar

Özyineleme (Recursion)

Giriş. ENF102 Jeoloji

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

HSancak Nesne Tabanlı Programlama I Ders Notları

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

C PROGRAMLAMA D İ L İ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I

D İ Z İ L E R A R R A Y S

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

BİL1001 Bilgisayar Bilimlerine Giriş 1

Görsel Programlama 1

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

YZM 2105 Nesneye Yönelik Programlama

C PROGRAMLAMA DİLİNE GİRİŞ

PROGRAMLAMAYA GİRİŞ DERS 2

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Diziler (Arrays) Çok Boyutlu Diziler

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Fonksiyonlar (Altprogram)

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA I

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

Algoritma ve Programlama: Karar Yapıları ve Döngüler

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

C Programlama Dilininin Basit Yapıları

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

Diziler İndisli Değişkenler

Programlama Dilleri 1. Ders 4: Diziler

C++ Dersi: Nesne Tabanlı Programlama

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Dr. Fatih AY Tel: fatihay@fatihay.net

Matlab da Dizi ve Matrisler. Mustafa Coşar

Giris {\} /\ Suhap SAHIN Onur GÖK

Bölüm 2 - C ile Programlamaya Giriş

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

BİLGİSAYAR PROGRAMLAMA DERSİ

Bölüm 8, Yrd. Doç. Dr. A. Kadir YALDIR PAÜ Bilgisayar Mühendisliği Bölümü BÖLÜM 8: DİZİLER

Pointer Kavramı. Veri Yapıları

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

ALGORİTMA VE PROGRAMLAMA II

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

C# Örnek Uygulamalar I

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Algoritma ve Programlamaya Giriş

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı

BİLG Dr. Mustafa T. Babagil 1

Göstericiler (Pointers)

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

Dr. Fatih AY Tel: fatihay@fatihay.net

Sınav tarihi : Süre : 60 dak.

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

8. İŞARETCİLER (POINTERS)

Adım Adım C. Dr. Hidayet Takcı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

Final Sınavı Soruları Güz, Süre: 90 Dakika

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

ALGORİTMA VE PROGRAMLAMA I

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

Hafta 13 Fonksiyonlar

Transkript:

2. Dereceden Denklemin Köklerini Bulan Program [crayon-5bb74e5b18b15225541464/] C++ 2.dereceden denklemin köklerini bulan program [crayon-5bb74e5b18b25989362529/] ÇIKTI;

C++ 2. dereceden denklemin köklerini bulan program [crayon-5bb74e5b18b2c485851819/] YAZAR:Fatma AKTAŞ SEÇME SIRALAMA ALGORİTMASI Öncelikle seçme sıralama algoritmasını işleyişinden bahsedelim.bu algoritmada dizinin ilk elmanı dizinin sonuna kadar olan diğer elemanlarla karşılaştırılır.eğer önceki eleman sonraki elemandan büyükse yer değiştirlir. -Elemanları 5 1 4 2 8 olan diziyi ele alalım. BİRİNCİ DÖNGÜ -(5 1 4 2 8)>>(1 5 4 2 8) -(1 5 4 2 8)>>(1 4 5 2 8) -(1 4 5 2 8)>>(1 4 2 5 8)

-(1 4 2 5 8)>>(1 4 2 5 8) İKİNCİ DÖNGÜ -(1 4 2 5 8)>>(1 2 4 5 8) -(1 2 4 5 8)>>(1 2 4 5 8) -(1 2 4 5 8)>>(1 2 4 5 8) Buradaki mantığa bakacak olursak n elemanlı bir dizi için birinci döngü 1 ile n-1 arasında,ikinci döngü ise 2 ile n arasında çalışmış olur. Şimdi birde kodlarını inceleyelim. [crayon-5bb74e5b19a82315391265/] YAZAR:Miraç KESKİN KAYNAKLAR -Mühendislik Öğrencileri İçin Temel Klavuz C++/C -http://tr.wikipedia.org/wiki/sıralama_algoritması

Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir. Bu diziler sayesinde değerler, bir tablodaki veriler gibi düşünülebilirler. Bu tip dizilerde her elemana ulaşmak için satır indisi ve sütun indisi kullanılır. C dilindeki dizilerin boyutları ikiden de fazla olabilir. Bir sınır olmamakla beraber 12 boyuta kadar destekler. Biz burada çift boyutlu dizileri ele alacağız. Tanımlama: dizinintürü dizininadı [satır sayısı][sütun sayısı]; ÖRNEK: int a[3][4]; /* 3 satırlı, 4 sütunlu int türünde değerler alabilen bir dizi */ float b[5][3]; /*5 satırlı 3 sütunlu float türünde değerler alabilen bir dizi */ Örnekte verilen ilk dizi tanımlamasındaki birinci köşeli parantez içerisinde verilen değer satır sayısı, ikinci köşeli parantez içerisinde verilen değerde sütun sayısıdır. Bu dizi 3 4 lük bir tablo gibi düşünülebilir. Ancak bellekte tutulma şeklinin ardışık olduğu unutulmamalıdır. Sütun 0 Sütun 1 Sütun 2 Sütun 3 Satır 0 a[0][0] a[0][1] a[0][2] a[0][3] Satır 1 a[1][0] a[1][1] a[1][2]

a[1][3] Satır 2 a[2][1] a[2][3] a[2][0] a[2][2] ÇİFT BOYUTLU DİZİLERE İLK DEĞER ATANMASI Tıpkı tek boyutlu dizilerde olduğu gibi ilk değer ataması aşağıdaki şekilde yapılır. int a[3][4]={ {4, 5, 3, 1}, {0, 4, 3, 1}, {1, 9, 7, 2 } }; Yine tek boyutlu dizilerde olduğu gibi eleman sayısından daha az değer girilirse, diğer elemanların ilk değerleri sıfır yada boş olur. İçteki küme işaretleri kullanılmadan yapıları bir ilk atamada, elemanlar ilk hücreden itibaren sırası ile yerleştirilirler. ÖRNEK: 3 4 lük çift boyutlu bir dizi içerisine klavyeden girilen değerleri, tablo halinde ekrana yazdıran programı yazınız. 1. /*Tablo halinde ekrana yazdıran program */ 2. #include <stdio.h> 3. int main() 4. { 5. int a[3][4], satir, sutun; 6. for( satir = 0 ; satir < 3 ; satir++ ) { 7. printf( %d. satirindaki elemanlar:, satir ); 8. /* satırdaki elemanlar */ 9. for ( sutun = 0 ; sutun < 4 ; sutun++ ) 10. /* bir seferde girilmiş olacak */ 11. scanf( %d, &a[satir][sutun]) ; 12. } 13. printf( \n TABLO \n ); 14. for ( satir = 0 ; satir <3 ; satir++ ) {

15. 16. 17. 18. 19. 20. 21. printf( %d. satır:, satir ) ; for( sutun = 0 ; sutun < 4 ; sutun++ ) printf( %d, a[satir][sutun] ); printf( \n ); /*bir alt satıra geçmek için*/ } return 0; } ÖRNEK: Elemanları klavyeden girilen 4 6 lık bir dizinin sütun toplamlarını ekrana yazan programı yazınız. 1. /* iki boyutlu dizinin sütun toplamları */ 2. #include <stdio.h> 4. #define N 4 /* Satır sayısı sabiti */ 5. #define M 5 /* Sütun sayısı sabiti */ 6. int main() 7. { 8. int a[n][m]; 9. int sutun[m] = ( 0 ); /* İlk 10. değerleri 0 ata */ int i, j; 11. for( i = 0 ; i < N ; i++ ) { 12. printf( %d. satır, i); 13. /* satırdaki elemanlar */ 14. for ( j = 0 ; j < M ; j++ ) 15. /* bir seferde girilmiş olacak */ 16. scanf( %d, &a[i][j] ); 17. } 18. for ( i = 0 ; i < N ; i++ ) 19. for( j = 0 ; j < M ; j++ ) 20. sutun[j] = sutun[j] + a[i][j]; /* sütun 21. toplamı */ printf( \n \n 22. ); for( j = 0 ; j < 6 ; j++) 23. printf( %d, sutun[j] );

24. 25. } return 0; ÇOK BOYUTLU DİZİLERİN FONKSİYONLARA PARAMETRE OLARAK GÖNDERİLMESİ Çok boyutlu bir dizi, fonksiyona parametre olarak gönderilecekse, tek boyutlularda olduğu gibi sadece adı yazılır. Gönderilen dizi değişkeni karşılayan tanımlamada ise gönderilen dizinin boyutu kadar köşeli parantez açılır ve kapatılır. İlk köşeli parantez içerisine eleman sayısını ifade eden değer yazılmaz. Fakat diğerlerine eleman sayıları verilmek zorundadır. Derleyici bu değerleri elemanların hafızaya yerleşimlerini tanımlamak için kullanılır. Dizi kaç boyutlu olursa olsun bellek ardışık tek boyutlu hücrelerden oluşur. Dolayısıyla indis numaraları ne olursa olsun bütün dizi elemanları bellekte ardışık olarak saklanmak zorundadır. Örneğin; }; int a[2][3] = { {13, 12, 8}, {10, 50, 2} gibi bir dizi tanımlandığında elemanları bellekte tutulur. Yani çift boyutlu diziler tablo halinde bellekte tutulmaz. Her bir satır verilen sütun sayısı kadar sonraki hücreler içerisinde tutulur. Zaten her bir satır tek boyutlu bir dizi gibi düşünülebilir. Bütün satırlar uç uca eklenerek belleğe yerleşir. Derleyici bir sonraki satırın başlangıçtan kaç eleman sonra başladığını sütun sayısından anlar. Bu nedenle ilk satır sayısı haricindeki diğer değerler fonksiyonda karşılayan değişkenin ikinci ve daha sonraki köşeli parantezleri içerisine yazılmalıdır.

ÖRNEK: Kendisine gönderilen 3 4 lük bir diziyi ekrana tablo halinde yazan fonksiyonu main() fonksiyonu ile beraber yazınız. 1. #include <stdio.h> 3. #define N 3 /* Satır sayısı sabiti */ 4. #define M 4 /* Sütun sayısı sabiti */ 6. void diziyaz ( int [] [M] ); /*prototip tanımlaması */ 8. int main() 9. { 10. 11. int a[n][m] = { {4, 5, 3, 1}, 12. {0, 4, 3, 1}, 13. {1, 9, 7, 2} }; 14. diziyaz ( a ); 15. return 0; 16. } 17. void diziyaz ( int b[] [M] ) 18. { 19. int sutun; 20. int satir; 21. 22. for( satir = 0 ; satir < N ; satir++) { 23. printf( %d. satırdaki elemanlar:, satir ); 24. for( sutun = 0 ; sutun < M ; sutun++) 25. printf( %d, b[satir][sutun] ); 26. printf( \n ) ; /* bir alt satıra geçmek için */ 27. } 28. }

Diziler (Arrays) Tek Boyutlu Diziler TEK BOYUTLU DİZİLER Tek boyutta dizileri tanımlamanın genel kullanımı aşağıdaki biçimdedir. C99 öncesi, C Dili standartlarına göre; dizinin eleman sayısı, ya belli bir sayı ya da önceden #define önişlemci direktifi ile tanımlanmış sembolik bir sabit olmalıdır. Değişken olamaz. C99 standardı ile birlikte dizinin eleman sayısı değişkende olabilmektedir. Genel kullanımdaki köşeli parantez isteğe bağlı anlamında değildir. Köşeli parantez sembolü dizi tanımlamalarında mutlaka yazılmalıdır. GK: dizinintürü dizininadı [ ElemanSayısı ] ; ÖRNEK: int sayilar[6]; /* 6 elemanlı, her elemanı int olan dizi*/ char kodlar[15]; /*15 elemanlı, her elemanı char olan dizi*/ float boylar[5]; /*5 elemanlı, her elemanı float olan dizi*/ double notlar[7]; /*7 elemanlı, her elemanı double olan dizi*/ Derleyici ilk örnekteki gibi bir komutla karşılaştığında 6 adet sayının saklanacağı bellek alanı ayırır. Bir tam sayı 2 byte (DOS ta) uzunluğunda olduğuna göre dizinin bellekte kaplayacağı alan 2*6=12 byte olacaktır. Bu alanın başlangıç adresini, dizi adına aktarır. TEK BOYUTLU DİZİLERE DEĞER ATAMASI Dizinin elemanlarına ulaşmak için dizinin ismi ve köşeli

parantez içerisinde indis numarası yazmak yeterlidir. Aşağıdaki örnekleri inceleyelim; sayilar[0] = -12; /* 0 numaralı elemanına -12 değerini ata */ sayilar[2] = sayilar[4] + 3; /*dizinin 2 numaralı elemanına 4 numaralı elemanının 3 fazlasını ata */ for( i=0 ; i<6 ; i++) /*0 dan 6 ya kadar. 6 Dahil değil */ sayilar[i] = 0 /* dizinin elemanlarına 0 değerini ata */ Yukarıda döngü değişkeni ile dizi elemanlarına erişim yöntemi gösterilmiştir. Bu örnekten sonra aşağıdaki ifadelerin birbirlerinden farkını vurgulamak yerinde olacaktır. sayilar[i] + 1 ve sayilar[i+1] İlk gösterim dizinin i numaralı indisindeki elemanın bir fazlası anlamına gelir. İkinci gösterim ise dizinin i nin bir fazlası indisindeki elemanı anlamına gelir. Dolayısıyla; sayilar[i] + 1 =/= sayilar[i +1] (Eşit değildir) TEK BOYUTLU DİZİLERE İLK DEĞER ATANMASI Bir önceki konuda dizinin elemanlarına nasıl değer atandığı belirtilmiştir. Tanımlandıkları anda ilk değer ataması ise aşağıdaki şekilde yapılır; int puanlar[5] = {4, 6, 3, 1, 8}; İlk değer atama işleminde küme parantezi (brace) kullanılır. Küme işaretinden sonra (;) kullanılmasına dikkat ediniz. Böyle bir ilk değer atamasından sonra dizinin elemanları şöyle yerleşir; puanlar[0] = 4 puanlar[1] = 5 puanlar[2] = 3 puanlar[3] = 1

puanlar[4] = 8 Küme işaretleri içerisine dizinin eleman sayısından daha fazla eleman yazıldığında, bir yazım hatası ortaya çıkar. Eleman sayısından daha az eleman yazıldığında ise, diğer elemanlar otomatik olarak sıfır değerini alırlar. İlk değer ataması yapılmayan dizilerin elemanları bellekteki rastgele değerlerden oluşur. Ancak dizi static yada global tanımlanmış ise ilk değer ataması yapılmasa dahi elemanlarının değerleri sıfır ya da boştur. Ayrıca ilk değer ataması yapıldığında eleman sayısını yazma zorunluluğu yoktur. Ne kadar eleman yazılmışsa eleman sayısı o olur. ÖRNEK /*Klavyeden girilen 5 adet sayısı tersinden yazar*/ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. #include <stdio.h> int main() { int sayilar[5]; /* Beş elemanlı tamsayı dizi*/ int indis; printf( 5 adet sayi giriniz: \n ); for( indis = 0 ; indis < 5 ; indis++ ) scanf( %d, &sayilar[indis] ); printf( Girilen sayilar(sondan basa) : \n ); for( indis = 4 ; indis >= 0 ; indis ) printf( %d\n, sayilar[indis]); return 0; } ÖRNEK: Klavyeden girilen 20 adet nottan, ortalamadan büyük olanları yazan program. 1. #include <stdio.h> 2. int main()

3. { 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. } int notlar[20]; int i; double toplam = 0; double ortalama; printf( 20 adet notu giriniz: \n ) ; for( i = 0 ; i < 20 ; i++) { scanf( %d, &notlar[i] ); toplam = toplam + notlar[i]; } ortalama = toplam / 20 ; printf( Sinifin ortalamasi = %.2f\n, ortalama); printf ( Ortalamadan yuksek olan notlar\n ); for ( i = 0 ; i < 20 ; i++) if( notlar[i] > ortalama) printf( %d \n, notlar[i] ); return 0 ; C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım tablosu yapan programa kadar karşımıza çok sık çıkan bazı algoritmalardan bahsedeceğiz. Önce akış şeması ile programın algoritmasını ardından C++ kodunu ve en son olarak programın ekran çıktısını vereceğiz.

Tek-Çift Sayı Bulma Girilen bir sayının tek veya çift olduğuna dair karar vermenin en basit yolu sayıyı 2 ye bölmek ve bölümden kalan sayının 0 a eşit olup olmadığına bakmaktır. Yani sayının 2 ye göre modunu aldığımızda sonuç 0 ise sayı çift eğer değilse tektir. Şimdi algoritmayı akış şeması ile gösterelim [crayon-5bb74e5b1a218100735394/]

Tam Bölünebilirliği Ölçme Bu algoritmanın amacı kullanıcıdan alınan 2 sayıdan ilk sayının ikinci sayıya tam bölünüp bölünmediğine karar vermektir. Bu algoritmada da mod kavramını kullanacağız. Yani ilk sayı ikinci sayıya tam bölünürse mod=0 olacaktır. [crayon-5bb74e5b1a225239535068/]

Çarpım Tablosu Yazdırma Çarpım tablosunda 1 den 10 a kadar tüm sayıları sırasıyla birbirleri ile çarpıp ekrana yazacağız. Önce x=1 yazılır 1 den 10 a kadar olan y değerleri ile çarpılır. Bu şekilde x tek tek arttırılarak x=10 olana kadar devam eder. Bunun için iç içe for döngüsü kullanacağız.

[crayon-5bb74e5b1a22f851422566/]

En Büyük Sayı Bulma Kullanıcının girdiği N kadar sayının en büyüğünü bulmak için en büyük sayıyı saklayacağımız enbuyuk isimli değişken bir de sayac tanımlamalıyız ve kullanıcıdan N adet sayı almalıyız. Daha sonra program girilen sayı ile daha önceki en büyük sayıyı karşılaştırır eğer yeni sayı daha büyükse yer değiştirir. Böylece en büyük sayı her zaman enbuyuk değişkeninde saklanmış olur. [crayon-5bb74e5b1a23d242899442/]

Asal Sayı Belirleme Asal sayı demek 1 ve kendisinden başka sayıya bölünemeyen sayı demektir. Bir sayının asal olup olmadığını bulmak için sayıyı 1 ve kendisi hariç, kendisinden önceki tüm sayılara bölünüp bölünemeyeceğini kontrol etmeliyiz. Eğer sayı kendisinden önceki bir sayıya tam bölünürse sayımızın asal olmadığını anlarız.

[crayon-5bb74e5b1a248342298891/]

Rastgele Sayı Üretme Sayısal lotoda 1 den 49 a kadar 6 farklı sayı gereklidir. Bu algoritmada da kendi sayısal lotomuz için 1-49 arası birbirinden farklı 6 sayı üreteceğiz. C++ dilinde rastgele sayı üretmek için rand() ve her üretimde farklı sayı elde etmek için srand(time(null) ifadesini kullanacağız. time(null) kullanabilmek için <ctime> kütüphanesini eklememiz gerekiyor. [crayon-5bb74e5b1a251847210760/] Üçgen Alanı Hesaplama Üçgenin alanını önce taban ile yüksekliği çarparız sonra sonucu ikiye bölerek buluruz. Yani formülümüz (a*h)/2 dir.

[crayon-5bb74e5b1a25f833779861/] Daire Alan Hesaplama İşlemleri Dairenin alanı pi sayısını verilen yarıçapın karesi ile çarparak bulunuz yani formülü pi*r*r dir. Eğer dairenin tamamı değilde bir diliminin alanı istenirse. O dilimin a açısına ihtiyaç vardır. Bu sefer alan formülümüz a*pi*r*r/360 olur.

[crayon-5bb74e5b1a267682691636/] Kombinasyon Hesaplama N elemanlı bir kümenin r li kombinasyonu C(n,r)n!/r!(n-r)! formülü ile hesaplanır. Burada bir kaç tane faktöriyel işlemi olduğu için gerektiğinde kullanmak üzere bir faktöriyel fonksiyonu yazmak faydalı olur.

[crayon-5bb74e5b1a270910177718/] Fibonacci Sayı Serisini Yazdırma Fibonacci sayıları 0,1,1,2,3 şeklinde başlayarak her eleman önceki iki sayının toplamı olarak devam eder. Fibonacci dizisinin ilk N terimini yazdıran algoritma şu şekildedir:

[crayon-5bb74e5b1a286764444316/]

Girilen Kelimenin Tersten Yazılması Bu algoritmada string veri tipinin bize sunduğu dizi özelliği için dizinin elemanlarını sondan başak yazdıracağız.

[crayon-5bb74e5b1a28f950540169/] Herkese İyi Kodlamalar Hazırlayan: Ömer KOYUNCU Bu yazı Fahrettin Erdinç in Mühendislik Öğrencileri İçin Temel Kılavuz C / C++ adlı kitabı referans alınarak hazırlanmıştır. Kaynakça: ERDİNÇ Fahrettin, Mühendislik Öğrencileri İçin Temel Kılavuz C / C++, Abaküs Kitap, İstanbul, 2016

Akış Şeması (Flowchart) nedir? Akış Şeması (Flowchart) nedir? Algoritma nedir? Algoritma nedir?