sort. selection sort. bubble sort. short degil yani sort. o yuzden sey ettim. anca gidersin...

C ğrenirken açtığım 3. konumla birlikte merhaba. Yine ben. Bubble Sortu ğrendikten sonra bir dahaki konu olan selection sortun kodlarını başka bir yere bakmadan kendim bir şekilde bulup çzmeye karar kıldım. Neden byle bir şey yaptım? Hazır bilgiyi almadan kendim keşfedersem daha iyi ğrenirim ve unutmam diye düşündüm. Bilmiyorum doğru bir düşünce mi değil mi. Belki de zaman kaybıydı ama sonuç olarak kafamdan uydurduğum 10 sayıyı sıralama çalıştım selection sort ile. Gidip hazır kodlara bakmadan nce kendi yaptığımın doğruluk oranını ğrenmek istedim. Acaba kontrol eder misiniz herhangi bir yerde hatam ya da şurayı düzelt dediğiniz bir yer var mı?kodlar: #include <stdio. h> #include <cs50. h> int main { int numbers = ; int min, i, j; for (i = 0; i < 10; i++ ) { min = numbers ; //set the minimum for ( j = i; j < 10; j++) { if //swap } printf ; } return 0; } balbazar tarafından 28/Ara/16 02:55 tarihinde düzenlenmiştir

Bir ara aklımdaydı ana bir konu açmak. Forumda birçok mühendislik ğrencisi var. C/C++ için C# için, arduino için birer başlık açılsa. İlk mesajda konu gereksinimleri belirtilse ve sorusu olan herkes bu başlıklardan yararlansa hem arama hemde soru cevap konusunda çok daha yardımcı olur. Kullanan çok kişi olacağından konu üstte kalır ve ğrenmek isteyenlerede cesaret olur. Meali: C ve C++ Soru Cevap Paylaşımı2. mesaj bu arkadaşın sorunu olsa 3. mesajda yanıtlansa sorun çzüldükten sonrada 4. 5. mesajda başka kişilerin soru ve cevapları olsa çok hoş olur. Bazen ufak tefekde olsa sorun yaşıyoruz ve konuyu açsam patates ederler mi diye tırsıyorum bylece araya kaynarız :) www.kriptopedi.com

Algoritman doğru ama fazladan adımlar var. ncelikle dış dngü sıralanacak dizi boyutu kadar değil, (array_size - 1) defa dnmeli. for (i = 0; i < 9; i++) İçteki dngüde de başlangıç j = i değil j = i+1 olmalı. Yoksa ilk adımda her zaman aynı iki elemanı gereksiz yere karşılaştırmış olursun. for (j= i+1; j < 10; j++) Bunlar algoritma ile ilgili olan kısımlardı. Kodun daha okunabilir, ynetilebilir ve esnek olması açısından bakarsak da dngüler içinde kullanılan 10 sayısını bir değişkene atamak mantıklı olabilir. Diziye eleman ekleyip ya da diziden eleman çıkarıp yeniden sıralamayı denediğini düşün, en az 3 farklı yerde daha değişiklik yapman gerekecek. O yüzden şyle bir şey yapabilirsin: int arraySize = 10; int numbers = ...; for (i = 0; i < arraySize - 1; i++) for (j= i+1; j < arraySize; j++) Bundan sonra da artık sadece arraySize değişkeni ve array'in kendini değiştirerek işine devam edebilirsin. Sen hiç kaval çaldın mı?

yanlışlıkla... balbazar tarafından 28/Ara/16 02:52 tarihinde düzenlenmiştir

sort. selection sort. bubble sort. short degil yani sort. o yuzden sey ettim. Doğru hocam gzümden kaçmış düzelttim. Yüz kızartıcı k. bakmayın :D

Algoritman doğru ama fazladan adımlar var. ncelikle dış dngü sıralanacak dizi boyutu kadar değil, (array_size - 1) defa dnmeli. for (i = 0; i < 9; i++) İçteki dngüde de başlangıç j = i değil j = i+1 olmalı. Yoksa ilk adımda her zaman aynı iki elemanı gereksiz yere karşılaştırmış olursun. for (j= i+1; j < 10; j++) Bunlar algoritma ile ilgili olan kısımlardı. Kodun daha okunabilir, ynetilebilir ve esnek olması açısından bakarsak da dngüler içinde kullanılan 10 sayısını bir değişkene atamak mantıklı olabilir. Diziye eleman ekleyip ya da diziden eleman çıkarıp yeniden sıralamayı denediğini düşün, en az 3 farklı yerde daha değişiklik yapman gerekecek. O yüzden şyle bir şey yapabilirsin: int arraySize = 10; int numbers = ...; for (i = 0; i < arraySize - 1; i++) for (j= i+1; j < arraySize; j++) Bundan sonra da artık sadece arraySize değişkeni ve array'in kendini değiştirerek işine devam edebilirsin. Hocam en ince ayrıntısına kadar açıklamıssın. Gereksiz dngüye soktuğum yerleri de anladım. Çok teşekkür ediyorum