fflush(stdin) bir fonksiyondur,ben fonksiyon kullanmadan bu işlevi yapabilecek kod varmıdır diye soruyorum? |
Yeter ki herkes senin gibi uğraşsın. Biz her türlü, elimizden geldiğince yardımcı oluruz :) Şimdi 3 adet model var. Ben bunlara A,B,C diyeceğim kafa karışıklığı olmasın. (Yukarıdan aşağıya isimlendirdim) 15 adet bilgisayar satılacak. Bizim bilmemiz gereken hangi modellerin satıldığı. Her biri için ayrı ayrı üç değişken belirlerim, dizilerle hiç uğraşmam. A_Adet, B_Adet, C_Adet hepsini 0 a atarım. for(i=1;i<=15;i++) { if(bilgisayar==A) { A_Adet++; } if(bilgisayar==B) { B_Adet++; } if(bilgisayar==C) C_Adet++; } Sorunun a seçeneği için; A_Ciro = A_Adet*900; B_Ciro = B_Adet*1050; C_Ciro = C_Adet*1100; burada ciro değişkenlerini tanımlamaya gerek de yok direkt print de yapabilirsin. Fakat hesaplayan demiş, hoca kıllık yapar vs. bu şekilde yap istersen. En çok en az olayı da şöyle: http://www.gorselprogramlama.com/klavyeden-girilen-sayilar-icinde-en-buyugunu-bulan-program-c-console/ |
Bu örnekteki gibi uygula. http://www.dotnetperls.com/replace |
iyi günler hocanın labda verdiği soru baya zorladı beni kendimce birşeyler yapmaya çalıştım ama baya hata verdi yardımınızı bekliyorum soru şu buda bnm yaptığım http://www.codesend.com/view/3c09fd69ace26fad75cc60af2e12517d/ |
C de satranç yapmam gerek, tabi ustaların yardımı olmadan imkansız bu; http://forum.donanimhaber.com/m_69309599/tm.htm |
Ustalar şuraya bir bakın ya, zor bir yerde tıkandım :S http://forum.donanimhaber.com/m_69309599/tm.htm |
pointer kullanmak zorunda değilsin. strcat ve strlen - 3 kombinasyonunu kullanabilirsin. http://www.cplusplus.com/reference/cstring/strcat/ http://www.cplusplus.com/reference/cstring/strlen/ |
Vektörlerde kelimeleri nasıl yazdırabiliriz. Örneğin data.txt dosyamı aşağıdadaki linkte. Mesela oradaki noble gas olan bütün elementleri yazdırmam gerekiyor, saatlerdir uğraşıyorum yapamadım. Biri bana yardım etsin saat 4'te ödevi teslim etmem gerek. sadece vektörlerde kelimelerin nasıl yazdırıldığını gösterseniz bile yeter. http://www1.gantep.edu.tr/~bingul/ep578/docs/atomic.txt |
Bak bir örnek yazdım. Bu bir string vektörü ve her eleman dosyanın bir satırı. writeVector() fonksiyonu içeriğe göre uygun olan elementleri yazdırıyor.
|
Teşekkür ederim bu kadar çabuk cevap geleceğini tahmin etmemiştim, ödevi yarım teslim ettim. Uykusuz bi geceden sonra buraya yadığımı bile unutmuşum. Bu örneğinizden öğrenmeye çalışacağım. |
C' de bu işler zor. Hele windows ta daha da zor. Ya algoritmayı kendin yazacaksın ya da harici bir kütüphane kuracaksın. Şurada gsl library var mesela bunu geliştirme ortamına entegre etmen gerekli. http://code.google.com/p/oscats/downloads/detail?name=gsl-1.15-dev-win32.zip&can=2&q= http://www.gnu.org/software/gsl/ |
Harici kütüphane oluşturmayı bilmiyorum zaten de , algoritmasına uğraştım ama olmadı , ilk hanoi kulelerini çözmeye çalışsam yardımcı olur mu ? Yoksa o daha da mı zor , hoca recursive fonksiyonlarla yapın dedi ama basite indirgeyemedim bir türlü problemi. Daha sayıların arasına permütasyonel işlemler gelecek , sayıların bütün dizilimlerini yazdırabilirsem , işlem kısmını anlamış olur muyum ? Biraz saçma sorular sordum hocam ama kusura bakmayın. |
İlk sorunla başlayayım. 1-) Eğer counter değişkenine herhangi bir deger atamadan kullanmaya kalkışırsan hata alırsın, çünkü değişkeni oluşturduğun zaman bellekte bir bölüm açılır ve bu bölümün içi tamamen boştur yani null dur. Genelde buralarda yapılan hatalarda bilgisayarın tanımlanan değişkenin ilk değerini eğer hiç bir değer atanmamışsa 0 kabul edeceği yöndedir ancak bu yanlıştır. Yani sen while(counter<us) yazıpta counter değişkenine bir değer atamamış olsaydın bilgisayar burada şöyle düşünürdü " 'hiçbirşey' us değişkeninden küçük olduğunda şu komutları çalıştır." Yani tamamen hatalı bir kullanım olurdu. 2-)%d kullanımını derste görmüş olman gerekiyordu. Kısaca değineyim %d, %lf, %c gibi ifadeler genellikle scanf ve printf fonksiyonlarıyla birlikte kullanılır. Amaçları alınacak veya yazılacak şeyin hangi tipte olduğunu belirtmektir. Sen %d dediğin zaman bir tamsayı okuyacağım veya tamsayı yazdıracağım demektir. Reel sayılar içinse %lf veya %f kullanılır bunlar böyle devam eder. Daha detaylı kullanımını buradan öğrenebilirsin.Link. |
Hocam gerçekten çok çok teşekkür ederim, 1. sorunun mantığını bir türlü anlayamamıştım, sayende anlayabildim. diğerine gelince %d nin anlamını bilmiyordum, yani tam sayı okuyacağın veya yazdıracağın zaman kullanılacağını. bilgilendirdiğin için çok çok teşekkür ediyorum |
1. sorunun cevabı kısmen yanlış verilmiş. "Eğer counter değişkenine herhangi bir deger atamadan kullanmaya kalkışırsan hata alırsın" Bir değişkene değer vermeden yani ilklendirmeden tanımlarsan hata almazsın ve kullanabilirsin. Tabi derleyiciye göre farklılık gösterebilir. "değişkeni oluşturduğun zaman bellekte bir bölüm açılır ve bu bölümün içi tamamen boştur yani null dur." Değişkenin içinde çöp değer olur. Yani o an çalışan programların oluşturduğu değerlerden rastgele birini atar o bölüme. int counter; şeklinde tanımlasaydın counter'ın içinde 3124123 de olabilirdi 1 de olabilirdi. Yani ne geleceğini bilemezsin o yüzden ilklendirilir. Genelde değişkenler tanımlanırkan 0 atanarak ilklendirilir. int taban = 0; // şeklinde |
Evet şimdi denedim null olarak değil de dediğiniz gibi tamamen rastgele bir değer çıkıyor. |
Bende yeni başladım aşağıdaki kaynakları kullanıyorum. http://www.cagataycebi.com/programming/index.html Kitap olarak şerafettin arıkan-c programlama dili |
http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/ Bu sayfa yardımcı olacaktır. |
http://en.cppreference.com/w/c/io/getchar Standart giriş akımından(stdin) bir karakter okur. http://en.cppreference.com/w/c/io/putchar Standart çıkış akımına(stdout) bir karakter yazar. Aldığı parametre yazılacak karakter. Küçük bir örnek. Eğer kelime girilirse sadece ilk harfini alır.
|
Bu soruna cevap oluyor mu jervis? Veya tam olarak yapmak istediğin nedir?
http://www.sorucevap.com/bilisimteknolojisi/programcilik/c/ders.asp?206634
Bu mesaja 3 cevap geldi. Cevapları Gizle