merhaba arkadaşlar . bu soruyu c ile çözmem lazım ama açıkçası en sonda değilse ne döneceğini bile anlamadım . e üzeri nası kullanılır bilmiyorumda . açıklamalı olarak yardımcı olursanız sevinirim < Resime gitmek için tıklayın >< Resime gitmek için tıklayın > |
merhabalar tekrardan. benim bir sorum daha olacaktı. projede “ ve . tuşlarına aynı anda basıldığında konsoldan çıkış sağlanması gerekiyor. Bunu kbhit fonksiyonu ile yapmaya çalıştım ama olmadı malesef. Yardımcı olabilirseniz çok sevinirim. Şimdiden teşekkürler. |
Arkadaşlar ben şuan bir program üzerinde çalışıyorum.Bu program yazdığımız yazıyı sayılara çevirecek ve bu sayıları metin belgesine kopyalıyacak fakat istediğimiz zaman bu metin belgesindeki sayıları tekrar yazıya çevirebilecek,veya yazdığımız sayıları yazıya çevirecek ve metin belgesine kopyalayacak fakat yine o yazıları sayılara çevirebilecek.Biraz karışık ama amaç sadece program yardımıyla yazıları okuyup yeni yazılar yazabilmek ve bunları sayı yardımıyla metin belgesine kopyalamak. Şimdi ben sorum şu ben char halindeki yazıyı sayı halindeki int e çevirmeyi başaramadım bunu nasıl yapabilirim?? Paylaş |
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int x, asallik,y = 0; cout << "Lutfen sifirdan buyuk bir sayi giriniz "; cin >> x; for(asallik = 1;asallik <=x; asallik++){ if(x%asallik == 0) y++; } if(y == 2) cout << "sayi asaldir"<<endl; else cout << "sayi asal degildir." <<endl; y = 0; system("PAUSE"); return EXIT_SUCCESS; } Merhabalar, Bu kodda y = 0 ı ne anlamda kullandık biz, neden y = 0 dedik ? Doğru yanlış anlamında mı kullandık ? Teşekkürler |
ascii kodlarını araştırabilirsin. sanırım onunla alakalı bir program bu. |
1. asla system() fonksiyonunu kullanma, ne olursa olsun! 2. y = 0 ı başta yapmanın sebebi hafızada 0 değerini atamak. ayrıca sadece 2 ve 0 arasında değer olacağı için int kullanmak çok aptalca bir davranıştır. char y = 0; şeklinde kullanın 3. y++; yı da kullanma ++y; kullan hafızayı boşu boşuna meşgul etme. 3. x % asallik da x yani girilen sayıyı asallik a bölüp kalanı buluyor. kalan 0 ise tam bölünüyor demek. asal sayı bire ve kendisine tam bölünür sadece, bu yüzden x % asallik,asal sayılarda asallik = 1 olduğunda veya asallik = x olduğunda 0 a eşit olur yani asal sayılarda y döngüden 2 olarak çıkar. altta da y = 2 ise sayı asaldır demiş zaten. 4. kodlama tarzı berbat sadece ödevlerde böyle kodlama yap. ayrıca preprocessor constant larını header veya kod dosyasının başında #ifdef şeklinde sorgulat ve gerekirse tanımlat, bunu yapmazsan kod sadece constant lerin önceden tanımlandığı platformlarda derlenebilir. |
Turbo C dili ile sayıyı basamaklarına nasıl ayırabiliriz, kafayı yemek üzereyim lütgen bilen ustalar bi yardımcı olabilirmisiniz ? |
Lütfen cevabı biliyorsan yardım et. |
@ebubekir.s " için gerekli tanımlamayı bulamadım. Onun için VK_OEM_7 yazılmış dökümanda ama bu da US klavyeler için geçerli. Bizim klavyelerde i olarak geçiyor. Bende nokta ve virgüle ayarladım. Ayrıca bu kod sadece windowsta çalışır maalesef. Eğer crossplatform istersen glfw, sdl2 gibi kütüphaneler var bunların sadece input fonksiyonlarını kullanabilirsin. Virtual Key Codes(Windows)
|
peki çok teşekkür ederim. |
Merhaba arkadaşlar C++ da eksiğim olduğu için buraya sorayım dedım. ve okulda hocamız bize bir ödev verdi. Bir ögrenciye ait; adı,soyadı,doğum günü(gun ay yıl) bilgilerinin tutulması istenmektedır. Bu bılgılerı içerebilen bırer sınıf tasarlayınız. Ornek olarak, bır ögrencının bılgılerını baslangıc deger olarak kabul edecek bır nesne olusturun . daha sonra bu sınıf ıcerısınde öyle bır fonkısyon ekleyınız ki bu bılgılerı ekrana yazdırsın. bu fonksıyonu kullanarak ornek olarak olusturdugunuz nesne içerisnde ögrencıye aıt bılgılerı ekrana yazdırsın. Bana yardımcı olursanız cok sevinirim |
Arkadaşlar proğram güzel çalışıyor ama en sonunda bir bütün olarak 2 katını almasını istiyorum...nasıl yapabilirim? /manyak bir hocanın ödevi/ #include<stdio.h> |
@Saintvictims Oluşturacağın basit bir sınıf örneği bu. Eğer burada takılıyorsan baştan notlarını incelemen lazım.
@ahmet_k06 Hiç soru üzerinde düşünmeden direk buraya yazıyorsun herhalde. Sayıları bir bütüm olarak nasıl 2 ile çarparsın? İlk önce sayıları toplarsın sonra topladığın sayıyı 2 ile çarpsın. Kodda ilk önce yapman gereken for döngüsünden önce c = 0 yazmak olmalıdır. Sonra for içinde b=a-'0'; deyiminden sonra c += b yazacaksın. Böylece sorunun ilk aşaması olan sayıların toplanması kısmını halletmiş oldun. Sonraki aşamada ise for döngüsünden çıktıktan sonra c *= 2; yapacaksın böylecede sayıların toplanmış halini 2 ile çarptın. c'i ekrana yazdırdıktan sonra işlem bitiyor. Yapacağın işlem bu kadardı. |
tam senin dediğin gibi yaptım ama olmadı..... #include<stdio.h> |
@ahmet_k06 Bir bütün olarak 2 katını biraz açar mısın? Sen 123 girdin diyelim. 1 + 2 + 3 = 6 'nın 2 katı olacak. Yoksa 123 * 2 = 246 mı olacak? Ayrıca döngüleri a != '\0' olarak kullanma. İlk dediğim şeklin kodu aşağıdaki gibi.
İkinci dediğimin ise kodu:
ceil kullanmazsam 10^2'i 99 olarak gösteriyordu :s |
merhaba arkadaşlar. Aşağıda yazmış olduğum bu program, girmek istediğiniz kadar sayıların tek veya çift olanlarının ortalamasını almakta fakat eğer sadece çift veya tek girerseniz hata veriyor. yardımcı olur musunuz? Teşekkürler. #include<iostream> #include<conio.h> using namespace std; int main() { int n, number, i = 1; int sum_even = 0, sum_odd = 0; int sum; long double nodd = 0, neven = 0; double aodd, aeven; cin >> n; for (i = 1; i <= n; i++) { cin >> number; if (number % 2 == 0) { neven++; sum_even += number; } else { nodd++; sum_odd += number; } } aodd = sum_odd / nodd ; aeven = sum_even / neven; cout << aodd << " " << aeven; getch (); return 0; } |
@alikemalozgumus Aldığın hata nedir? Bende hata vermedi. Ama kodda mantıksal bir hatan var. Sadece tek veya çift girdiğin zaman nodd veya neven değişkenlerinden biri 0 oluyor. Böyle oluncuda aodd = sum_odd / nodd ; aeven = sum_even / neven; kısmında bir sayıyı 0'a bölmeye çalışıyorsun. Aldığın bundan kaynaklı olabilir. Basit if ifadeleri ile bu sorunu çözebilirsin. |
-1.#ind hatası veriyor. teşekkür ederim yardımın için biliyorum 0'a bölündüğü için hata verdiğini ama çözemiyorum daha yeni başladım bu programı kullanmaya |
if(nodd != 0) { aodd = sum_odd / nodd ; cout << aodd << " "; } if(neven != 0) { aeven = sum_even / neven; cout << aeven; } |
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle