Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
419
Tıklama
0
Öne Çıkarma
C++da yardım!!!
T
13 yıl
Er
Konu Sahibi

#include <iostream>
#include <conio.h>
using namespace std;

int main() {
int n;
cin >> n;

while (n > 1) {
if (n%2 != 0) {
n = n*3 + 1;
} else {
n = n/2;
}
cout << n << endl;
}
getch();
}


Arkadaşlar ben n>1 kısmında 1 yerine kesirli bir sayı yazarak işlem yapmak istiyorum ama onun için farklı kodlama yapmak gerekliymiş yardım ederseniz sevinirim.Teşekkürler.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Ü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.

Üye Ol Şimdi Değil



B
13 yıl
Binbaşı

n int( tam sayi) yerine doub veya float yapabilirsin.
yani
int n yerine
double n veya float n


Bu mesaja 1 cevap geldi.
T
13 yıl
Er
Konu Sahibi

Sağol yorumun için ama denedim derlemede hata veriyor sanırım başka şeyleride değiştirmek gerekiyor.


Bu mesaja 1 cevap geldi.
Q
13 yıl
Yüzbaşı

...
while (n > 15/31.0)
...





< Bu mesaj bu kişi tarafından değiştirildi qamyoncu -- 18 Nisan 2012; 19:51:38 >
Bu mesaja 1 cevap geldi.
T
13 yıl
Er
Konu Sahibi

Arkadaşlar kusura bakmayın bir türlü istediğim sonucu alamıyorum bir örnekle anlatırsam daha iyi olur belki.
sayımız 'n' olsun

n tek sayı ise 3 ile çarpıp 1 ekliyecem yani

3n+1

n çift ise 2ye bölecem yani

n/2

Örneğin 3 sayısı

3.3+1=10
10/2=5
5.3+1=16
16/2=8
8/2=4
4/2=2
2/2=1

ben burada 3n+1 kısmındaki 1 in yerine kesirli bir sayı yazmak istiyorum.3n+1/2 gibi.


Bu mesaja 1 cevap geldi.
B
13 yıl
Binbaşı

#include <iostream>

using namespace std;

int main() {

int n;
cout<<"Bir sayi giriniz : ";
cin>>n;

if(n%2==0)
{
n=n/2;
cout<<n;
}
else
{
float m=n*3+(0.5);
cout<<m;
}
return 0;
}





< Bu mesaj bu kişi tarafından değiştirildi blackwar19 -- 18 Nisan 2012; 23:21:33 >
Bu mesaja 1 cevap geldi.
-
13 yıl
Binbaşı

kesirli sayıyı unut 1/2 yerine 0.5 yaz


Bu mesaja 1 cevap geldi.
T
13 yıl
Er

Tamsayı(int) kullanırken n=1 yazarsın ama eğer kesirli(double) kullanacaksan sayın tam sayı bile olsa n=1 değil n=1.0 yazman gerekli. Aynı şekilde içinde double geçen işlemlerinde ondalıklı sayı girmelisin. Şu an C++ derleyicim yüklü olmadığı için deneyemiyorum ama şu şekilde olmalı.

2 farklı int değerinin oranını bir double da tutmak istersen şöyle yazman lazım.

 
int x,y;
double z ;
z = x/y*1.0;


Buradaki işlemin sonucu değiştirmeyecek şekilde ondalık olarak herhangi bir sayı girmemiz gerekli ben bölümü 1.0 ile çarptım. 0.0 ile toplasaydık (z= x/y+0.0;) da olurdu.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.