Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

c++ konusunda yardım lazım


freemaniacss

Öne çıkan mesajlar

  • 2 hafta sonra ...
- 100 eleman uzunluğunda bi dizi yarat
- İçine 1-10 arasında 10 adet, 10-100 arasında 90 adet random sayı yerleştir
- Gerektiği zaman 0-99 arasında random bi sayı yarat
- Dizinin o indisli elemanını kullan

Daha isabetli, daha rastgele sayılar yaratiim diyosan da 100 elemanlı değil, 1000 elemanlı dizi kur.
Link to comment
Sosyal ağlarda paylaş

ya şimdi yapmak istediğim olay şu.projemde 2 tip taş var.x ve y gibi.aynı tip taşlar birbiri ile karşılaşırsa %50 şansı var.ama x taşı y taşı ile karşılaşırsa %10,y taşı x taşı ile karşılaşırsa %90 şansı var.Ben de bunları random 1 tane sayı çekerek yapmayı planlıyorum.sonuçta 0-100 arasındaki her sayının gelme olasılığı aynı.mesela çektiğim sayı 0-10 arasında gelirse x yenicek,11-100 arasında gelirse y kazanıcak.Ama 2 gelme olasılığı ile 90 gelme olasılığı aynı.Ben bunları değiştirmek istiyorum.mümkünmüdür
Link to comment
Sosyal ağlarda paylaş

Dediğim gibi yaparsan olur.
Şöyle açıklayayım eğer okuduysan da kafana yatmadıysa, 1-10 arasındaki sayıları kırmızı renkte toplar ifade etsin, 11-100 arasındakilerini de mavi. Ben bi torbanın içine 10 tane kırmızı, 90 tane mavi top koyuyorum, sonra içinden rastgele birini çekiyorum. Çektiğim top %10 ihtimalle kırmızıdır, %90 ihtimalle mavi. Olay bu yani.
Link to comment
Sosyal ağlarda paylaş

Ben birseyi kaciriyorum sizin yaptiginizda ama hala anlamadim zaten 0 dan 99 a random sayi cekmiyo musun c++ in rand i kullaniyosan oranlar normal dagilir zaten en basta her rakamin gelme olasiligi %1 0-9 arasi gelme ihtimali %10 10-99 gelme ihtimali %90 zaten. Elinde oranlar varken cikan rakamla bir daha tombala cekmeye ne gerek var?
Link to comment
Sosyal ağlarda paylaş

basit bir şekilde 2 boyutlu array kullanarakta olabilir bu tarz bişe. bir method arrayı çizer. while içinde her seferinde çizdirirsin. bir method denk gelen varmı bakar. çok basit bi anlatım oldu gerçi :P. sen başla işe senin mantığına göre yorumlasak daha güzel sonuçlar çıkar burda.
Link to comment
Sosyal ağlarda paylaş

  • 2 hafta sonra ...
arkadaşlar birşey sorucam.şimdi benim iki tane class ım var.

class a{
public:
friend void func();
private:
int x,y;
};
class b{
public:
friend void func();
private:
int x,y;
};

şimdi ben bu func() fonksiyonunu friend tanımladığım için private lara ulaşmam gerekmiyormu?

mesela fonksiyon tanımında

void func(){
a a1;
b b1;

a1.x=5;
b1.x=4;
}

gibisinden birşeyler yaptığımda,private lara erişemiyorum.
Link to comment
Sosyal ağlarda paylaş

ulaşabilirsin, hatta bir an kendimden şüphe edip senin kodunu derledim, gayet ulaşıyor :)))

#include <iostream>

using namespace std;

class a{
public:
friend void func();
private:
int x,y;
};
class b{
public:
friend void func();
private:
int x,y;
};

void func()
{
a a1;
b b1;

a1.x=5;
b1.x=4;
cout<<a1.x<<endl;
}

int main()
{
func();
return 0;
}

Link to comment
Sosyal ağlarda paylaş

şimdi o kodu salladım :D onda bir sorun çıkmamış olabilir.benim şimdi classlarımın olduğu bir header dosyam var class.h.bunun içinde

class a{
a(){x=0;
y=0;};
~a(){};
friend void func();
private:
int x,y;
};

aynı şekilde bir de b classım var.
fonksiyonları tanımladığım bir başka headerım var.func.h diye
fonksiyonda şunu yapıyorum.önce 3-4 tane obje oluşturuyorum a1,a2,b1,b2 diye.kullanıcıcan bi tane x bi tane y değeri alıyorum.bazı koşulları sağladığında.aldığım değerleri atıyorum
a1.x=girilen_x
a1.y=girilen_y tarzında tüm objelere eşitliyorum eğer belirlediğim kriter varsa.
bana verdiği hata kodu
"request for member 'x' in 'a1',which is of non-class type 'a'"
Link to comment
Sosyal ağlarda paylaş

riglous sağolsun ilgilendi bu sorunumla ilgili.class ın public kısmına set ve get fonksiyonları yazarak ulaşmam gerekiyormuş.ama hala anlamadığım,bir fonksiyonu friend ettiğimiz zaman,o classın private larına erişim sağlamış olmuyormuyuz?yoksa friendin ne mantığı var bana bunu yapmıyorsa.
Link to comment
Sosyal ağlarda paylaş


void func(){
vector<string> v;
string s;
char c;

ifstream read("dosya.txt" ) ;

if (read.is_open()) {
while (!read.eof()) {
read>>c;
if(c=='{'){
while(c!='}'){
if(s!=", " ){
read>>s;
v.push_back(s);
}
else{
read>>s;
}
}
}
}
}
read.close();
}

benim elimdeki .txt belgesinde
{ab,cd,mn}
{a,b}

tarzında ifadeler var.ben { görünce okumaya başlasın ardından virgüle kadar olan kısmı vector e atsın }göresiye kadar da devam etsin,ta ki belgenin sonuna kadar demeye çalıştım.ama çalışmıyor,daha doğrusu çalışıyorda istediğimi yapmıyor sanırım.bi yardım edebilecek vatandaş var mıdır
Link to comment
Sosyal ağlarda paylaş

read>>c dediğin zaman aşağıda ki karakterlerden birini görene kadar okur;

space, tab, end of line,

dolayısıyla, string okuyor yani, sen char c'ye atarak baştan hata yapıyorsun, bir de, >> operatörü yerine

read.read

yada

read.getstr

yada

read.getline

gibi şeyler kullanmayı dene

http://www.cpluplus.com adresinde nasıl kullanıldıklarını bulabilirisn.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...