Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
418
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.



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.