1. sayfa
Pseudocode hocam int'leri, noktalı virgülleri vb ekleyince java oluyor, c++ da olur, syntaxları benzer zaten dh baştaki boşlukları sildiğinden süslü parantezleri takip edince görünür oluyor https://codebeautify.org/javaviewer/cbd92e17 Burdan bakınca anlaşılır |
https://onlinegdb.com/B1-ree-xS Buraya java kodunu koydum, çalışıyor Uç noktalar için kontrol yok mesela negatif vb girerse sıkıntı olabilir konuda siz nasıl yaparsınız demişsiniz, Pseudocode ile anlatmak en doğrusudur, yoksa gidip tam kod yazmak gereksizlik oluyor ama yine de üstteki linkte yazdım |
#include <iostream> #include <string> using namespace std; int main () { setlocale(LC_ALL,"tr_TR.utf8"); setlocale(LC_ALL,"tr_TR.oem857"); int hnumber,total; int tnumber; int x=1; cout<<"Ardışık sayı miktarını gir:"; cin >>hnumber; cout<<"Devir sayısını gir:"; cin >>tnumber; while (x<=tnumber) { int i=0; do { cout << i; total+=i; i == hnumber ? cout << " = "<<total<<endl : cout << " + "; i++; } while (i <=hnumber); hnumber=total; total=0; x++; } } http://cpp.sh/33sqe buda while ile olanı;@vonderplanitz @vonderplanitz |
Çözüm öz yinelemeli değil, iterasyonlu. "for" olan her çözüm iterasyondur. Öz yinelemeli çözümde for olmaz. Öz yineleme => Recursion. Daha fazla açıklama için bak:https://en.wikipedia.org/wiki/Recursion_(computer_science) ve iterasyonlu çözüm hem eksik hem hatalı. Eksik cunku polinom faktöryelin her bir elemanın açılımını (yani örneğin (4 + 1^2) gibi) ekrana tek tek basmıyor, onun yerine örneğin (4 + 1^2)'in sonucu olan 5'i basıyor. ve hatalı cunku polinomdaki ifadeyi doğru hesaplamıyor. |
recursive tekrarlanan arasındaki farkı anlamak için bir kaç kod yazmayı deneyeceğim. aklıma her seferinde for'un yaptığı işlevi nasıl yaptırabilirim ve bu return ile olabilir ama nasıl sorusu geliyor? bir function içinde tanımayacağım ve function ile bunun bana getirisi ne? evet daha kısa yazarak c++ sınırları zorlanabilir? bir münazara niyeti ile yapılabilir? ama bilgisayarda daha hızlı çalışmasını sağlamak gibi bir faydası yoksa,çoğu insan buna yeltenmeyecektir. fakat benim her zaman merakımı çeker! bir şeyler buldum, belki(katiyyen) birillerinin ihtiyacını karşılar. https://www.programiz.com/cpp-programming/recursion https://beginnersbook.com/2017/08/cpp-recursion/ http://bilgisayarkavramlari.sadievrenseker.com/2008/08/05/ozyineli-fonksiyonlar-recursive-functions/ düşündüğüm gibi return ile yapılıyormuş. fakat bunun forla pek bir farklı kalmamış gibi görünüyor. artısını büyük boyutlu projeler ile çalıştığımızda görürüz. |
bunu fark etmedim. hem c++, hemde bir betik dili öğrenirim. şu anda programla dili olarak c++ ağırlık verdim. onda dikkatimi geliştirdikten sonra, tecrübe kazandıktan sonra diğerlerine bakacağım. senin tavsiyene ehemmiyet verip c++ v11 itibari ile eklenen özelliklere bakacağım. yukarıda verdiğim örnek, bir ihtimal eski versiyonlardaki gibi olabilir fakat yine dursun. aradaki farkı görürler. gönderdiğin resmin tam içeriği gönderebilir misin? yani (fib 4) klavye ne olarak giriyorsun? direkt rakam girişine benzemiyor.. bir hata var mı? tahminen öyle 7 rakamını girdiğinde 13 bitmesi lazım. 4 rakamını girdiğinde 3 bitmesi lazım. < Resime gitmek için tıklayın > https://store.donanimhaber.com/3d/f6/82/3df682acceee2cbf623806deccb97108.png https://store.donanimhaber.com/0a/cb/0c/0acb0cb06b57f2a4b11cab369c713515.png |
Videoyu izlemek için tıklayınız https://cppdepend.com/blog/?p=319 https://erip.gitbooks.io/modern-cpp/content/chapter4.html https://google.github.io/styleguide/cppguide.html bana initialization list std::vector<T> (vectorler olabilir); bahsettiğin özellikler bu verdiğim linkte yoksa rica etsem paylaşana.. |
C++11 'deki 2011 seni yanıltmasın. C++11'deki özelliklerin %90'ından fazlası 1999'da çoktan C++'a dahil oldu, 2011'e kadar cok önemli olmayan birkaç özellik daha eklenerek C++11 adıyla yayınlandı. Yani, H.Schildt'in 2003 basımı C++ kitabında yeni özelliklerin %90+'ı var, böyle yeni video veya kitaplara gerek yok. Ben o 2003 kitabını bitirdim, bu yeni videolar vs olmadan c++11 kodlayabiliyorum :) Scheme'deki (fib 7) ye gelince: Scheme'de fonksiyon hesaplatma parantez ile oluyor. Dikkat edersen yukardaki kodlarda da hep parantez var. O sayede programın işlevlerini istediğin şekilde ayırabiliyorsun ki o da fonksiyonel programlamanın kendisi demek. Bilgisayarında Scheme kodları denemek istiyorsan,https://chocolatey.org/packages/chicken 'da Windows için Scheme derleyici paketi var. |
evet basit bir ayrıntı fakat ben dikkat ediyorum böyle şeylere. oha çüş bu kadarıda olur mu? ey derleyiciler benim kodumu neden adam gibi derlemezsiniz? online compiler sitelerinde kod düzgün çıkarken, cl.exe(visual studio bile hatalı çıkıyor). gnu mingw bile sjs bile yanlış derliyor. < Resime gitmek için tıklayın > https://store.donanimhaber.com/ca/1c/5f/ca1c5f7896ad1d57ee0a6979f1dff419.png //direk böyle url vermen daha iyi olur mobile görünümde resimleri açılmadı direkt url'yi buldup öyle açtım. (8+0^2) = 8 8(7+1^2) = 8 64(6+2^2) = 10 640(5+3^2) = 14 8960(4+4^2) = 20 179200(3+5^2) = 28 5017600(2+6^2) = 38 190668800(1+7^2) = 50 943505408 yanlış sonuç veriyor Fakat online derleyici ile çalıştırdığımda düzgün sonuç veriyor. hatta kodu internet kafedeki bilgisayarda denedim onda da aynı sonuç. bu ne arkadaş >Riot esasen, forumda iletemediğim özel veya politik vs konular için kullandığım bir ortam. Teknik konular forumda iletilebilir o yüzden Riot 'a gerek yok. riot'a zaten sana özel ve burada anlatamadığım teknik konular ve politikten bahsetmek için girmiştim. eğer dersen teknik konulardan hiç bahsetmedik, hep politik, hep gündelik hayattan, sana orada dediğim. Sana riot'da anlatıklarımdan büyük ölçüde kutuldum. bilgisayar başında başım ağrımdan ağrısada tahammül edilebilir bir hale geldi. yani çalışmaya elverişli bir zihnim var. Dersin ki senden sıkıldım onuda hallederiz! yeter ki muhabbetin devamını iste! Yazdığım kodu c#$ yazmayı halletdikten sonra sonucu söylerim. |
using System; //using System.IO; namespace HelloWorld { class Program { public static int Main() { int m,a=0; Console.WriteLine("bir sayi giriniz:"); m = Convert.ToInt32(Console.ReadLine()); fonk k=new fonk(); Console.WriteLine("Toplam sayi:{0}",k.formul(m,a)); return 0; } } class fonk { public long formul (long m, long i) { long toplam=1; if (m>=1) { toplam*=(m+(i*i)); Console.WriteLine(" ({0} +{1}^2) = {2})",m,i,toplam); return ( toplam * formul(--m,++i)); } return 1; } } } //c# ile yapılan bir kod malum c# daha uzun yazılıyor c++ göre ilk etapta uğraştırsada istediğin sonucu alabiliyorsun. https://www.onlinegdb.com/B1V2RcPQH // buradan bakabilirsin. ----------------- buda c++ ile yazılan https://www.onlinegdb.com/rJdNxoDXB peki neden internet cafe'de bile gnu gcc kurduğum bilgisayarda derleyipte aynı kod ile kendi bilgisayarımdaki yanlış sonuç alıyorum. g++ -o filename.exe filename.cpp komutunu kullanıyorum. |
1. sayfa
Özyinelemeli tarzda fonksiyonu yazdım. Başkaları nasıl yazacak, onu tartışma ve egzeersiz amaçlıdır konu. Egzersiz yapmak isteyenler , bu fonksiyonu özyinelemeli tarzda yazabilir mi :)
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.