Arama butonu
Bu konudaki kullanıcılar: 2 misafir
4171
Cevap
167933
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (3. sayfa)
T
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: -Source-

quote:

Orijinalden alıntı: TeaTone

quote:

Orijinalden alıntı: -Source-



http://gmplib.org/ . Yardımın için teşekkürler kendimde halletmeye çalışıcam.

GMP bilmiyorum onla da boşa uğraşmahttps://mattmccutchen.net/bigint/ buradaki indir, kurulumu daha kolay.
içindeki tüm dosyaları projenin olduğu klasöre at. Sonra .cc dosyalarını projeye ekle. Sonra " #include "BigIntegerLibrary.hh" " başlık dosyasını çağır. Bundan sonra değişken tanımlama yaparken int yerine "BigInteger sayi;" dediğin zaman istediğin(teorikde) sayıyı tutabilirsin. Bu arada 1500!'i de hesaplayabiliyor.

Cevap için teşekkürler. Hocayla konuşup alternatif bulduk. Sorun halledildi.


Bu mesaja 3 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: gokhanyigit

quote:

Orijinalden alıntı: £XE

Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++/C# da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.

[size=3]NOT : Bana şu programı yazabilir misiniz ? Tarzında sorulara cevap vermeyeceğim. Önce kendiniz yapabildiğiniz kadar yapın, takıldığınız yerlerde kodu koyup sorun yardımcı olalım..





İyi Çalışmalar.



Hoca pascal üçgeni ile ilgili ödev verdi. Ben c++ ile yapmaya çalıştım. Program çalışıyor gibi ama hoca bize 1000. sıradaki rakamları yazdırın diyor. Haliyle o sıradaki rakamlar 30-40 basamaktanda fazladır sanırım. Ben c++ ile unsigned long tipini kullanıp 9 basamaklı sayılara kadar çıktım. Ama 10. basamak ve üzerinde bocalıyor program.

Sizin bu konuda bilginiz var mı? 40-50 basamaklı değişken tipi oluşturamaz mıyım?


http://drzeki.com/degiskenler-degiskenlerin-tanimlanmasi-ve-sabitler.html şuraya bakarmısın bi


Bu mesaja 1 cevap geldi.
G
13 yıl
Teğmen

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: gokhanyigit

quote:

Orijinalden alıntı: £XE

Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++/C# da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.

[size=3]NOT : Bana şu programı yazabilir misiniz ? Tarzında sorulara cevap vermeyeceğim. Önce kendiniz yapabildiğiniz kadar yapın, takıldığınız yerlerde kodu koyup sorun yardımcı olalım..





İyi Çalışmalar.



Hoca pascal üçgeni ile ilgili ödev verdi. Ben c++ ile yapmaya çalıştım. Program çalışıyor gibi ama hoca bize 1000. sıradaki rakamları yazdırın diyor. Haliyle o sıradaki rakamlar 30-40 basamaktanda fazladır sanırım. Ben c++ ile unsigned long tipini kullanıp 9 basamaklı sayılara kadar çıktım. Ama 10. basamak ve üzerinde bocalıyor program.

Sizin bu konuda bilginiz var mı? 40-50 basamaklı değişken tipi oluşturamaz mıyım?


http://drzeki.com/degiskenler-degiskenlerin-tanimlanmasi-ve-sabitler.html şuraya bakarmısın bi


Değişkenlerin tanımlanması, tipleri falan araştırdım ama bu verdğiniz sayfadaki tipler 9-10 basamağa kadar sayı tutuyor galiba. Çok çok daha büyük basamaklar için olmuyor.


Bu mesaja 2 cevap geldi.
G
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Bilim Hayvanı

quote:

Orijinalden alıntı: YılmazAskar

quote:

Orijinalden alıntı: Bilim Hayvanı

Benim de bir sorum var daha önce 10 sayı içinden en büyük sayıyı bulmayı burda öğrenmiştim şimdi 10 sayı içinden en büyük 2 sayıyı bulmam gerekli (c dilinde for kısmına kadar biliyorum -kitaptaki soru-) Yardım ederseniz çok iyi olur çok uğraştım ama beceremedim

Benim tavsiyem;
Bu 10 sayıyı(N olarak genelleyebiliriz) diziye attıktan sonra en büyük sayıyı bul.
Bu sayıyı ekrana yazdır ya da farklı bir değişkenle tut ve dizideki sayıyı 0 yap ki tekrar aynı dizideki en büyük sayıyı buldurduğunda orijinal dizinin en büyük ikinci elemanı bulunsun.
Yani arama işlemini 2 kere yap.



quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: Bilim Hayvanı

Benim de bir sorum var daha önce 10 sayı içinden en büyük sayıyı bulmayı burda öğrenmiştim şimdi 10 sayı içinden en büyük 2 sayıyı bulmam gerekli (c dilinde for kısmına kadar biliyorum -kitaptaki soru-) Yardım ederseniz çok iyi olur çok uğraştım ama beceremedim

Yukaridaki yonteme ek olarak tek geciste de yapabilirsin.

for icine bir 2 tampon koyucaksin. karsilastirdigin sayilarin tam sayi oldugunu dusunuyorum. O yuzden tamponlari 0'a esitledim.
 
unsigned int en_buyuk=0 ; unsigned int en_buyuk_ikinci=0;
unsigned int array[15] = { 1 , 19 , 4 , 250 , 93457 ,355 , 2344 , 3 , 823 , 2904, 34874, 4, 357, 34534 , 2948 };


for (int i=0;i<15;i++)
{
if(en_buyuk < array[i])
{
en_buyuk_ikinci = en_buyuk;
en_buyuk = array[i];
}
else if(en_buyuk_ikinci < array[i])
{
en_buyuk_ikinci = array[i];
}
}

printf("En Buyuk : %u , En Buyuk Ikinci : %u\n",en_buyuk,en_buyuk_ikinci);



"En Buyuk : 93457 , En Buyuk Ikinci : 34874"

Ekleme :

Burada birbirine esit iki sayi en buyuk olsaydi mesela iki tane 93457; cikti,
"En Buyuk : 93457 , En Buyuk Ikinci : 93457 selkinde olacakti"
Eger boyle olmasin istersen for loopunun icinie ekleme yapacaksin. Mesela,

 
for (int i=0;i<15;i++)
{
if(array[i] == en_buyuk ||array[i] == en_buyuk_ikinci)
{
continue;
}
else if(en_buyuk < array[i])
{
en_buyuk_ikinci = en_buyuk;
en_buyuk = array[i];
}
else if(en_buyuk_ikinci < array[i])
{
en_buyuk_ikinci = array[i];
}
}


ekliyceksin.




İkinize de çok teşekkür ederim kitapta nasıl ilerlemem gerektiğini de anladım sağolun

Alıntıları Göster
quote:


İkinize de çok teşekkür ederim kitapta nasıl ilerlemem gerektiğini de anladım sağolun

Rica ederim. Burada önemli olan algoritma mantığı. Bu tip küçük programlarda koddan çok algoritma önemlidir. Algoritmayı düşünüp bunu koda aktarıcaksın. Mesela verdiğim kodun son halinde algoritma hatalı.

 
if(array[i] == en_buyuk ||array[i] == en_buyuk_ikinci)

yerine

if(array[i] == en_buyuk)

yazılırsa kod tamamen aynı işlemi yapıcak. (array[i] == en_buyuk_ikinci) kontrolü işlemciye fazladan gereksiz işlem yaptırmaktan öteye gitmez.



Genel programlama mantığını öğrendikten sonra daha iyi algoritmalar çıkartabilirsin. Bir şeyi yapmak için birden çok metod olabilir. Aşağıdaki link anlatmak istediğimi fikir olarak gösterebilir.

http://mathbits.com/MathBits/CompSci/Arrays/Sorting.htm





< Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Ekim 2012; 1:08:52 >
Bu mesaja 1 cevap geldi.
B
13 yıl
Yüzbaşı

Orijinalden alıntı: garui


İkinize de çok teşekkür ederim kitapta nasıl ilerlemem gerektiğini de anladım sağolun

Rica ederim. Burada önemli olan algoritma mantığı. Bu tip küçük programlarda koddan çok algoritma önemlidir. Algoritmayı düşünüp bunu koda aktarıcaksın. Mesela verdiğim kodun son halinde algoritma hatalı.

 
if(array[i] == en_buyuk ||array[i] == en_buyuk_ikinci)

yerine

if(array[i] == en_buyuk)

yazılırsa kod tamamen aynı işlemi yapıcak. (array[i] == en_buyuk_ikinci) kontrolü işlemciye fazladan gereksiz işlem yaptırmaktan öteye gitmez.



Genel programlama mantığını öğrendikten sonra daha iyi algoritmalar çıkartabilirsin. Bir şeyi yapmak için birden çok metod olabilir. Aşağıdaki link anlatmak istediğimi fikir olarak gösterebilir.

http://mathbits.com/MathBits/CompSci/Arrays/Sorting.htm

Anladım ben de kitaba göre konuyu bitirdikten sonra alıştırmalara geçiyordum ama şimdi kitabı bitirip alıştırmaları en son yapıcam hem tek tip algoritma yerine farklı farklı algroitmalar kullanmış olurum


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

Arkadaşlar bu yıl C dersi görmeye başladık.

Elimde iki tane kaynak var:
http://www.kadifeli.com/fedon/stdcprtr.php?k_1
http://www1.gantep.edu.tr/~bingul/c/

Hiç birşey bilmiyoruz daha, yeni başladık. Hangisini okuyayım? Ya da sizin bir tavsiyeniz var mı?


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

quote:

Orijinalden alıntı: gokhanyigit

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: gokhanyigit

quote:

Orijinalden alıntı: £XE

Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++/C# da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.

[size=3]NOT : Bana şu programı yazabilir misiniz ? Tarzında sorulara cevap vermeyeceğim. Önce kendiniz yapabildiğiniz kadar yapın, takıldığınız yerlerde kodu koyup sorun yardımcı olalım..





İyi Çalışmalar.



Hoca pascal üçgeni ile ilgili ödev verdi. Ben c++ ile yapmaya çalıştım. Program çalışıyor gibi ama hoca bize 1000. sıradaki rakamları yazdırın diyor. Haliyle o sıradaki rakamlar 30-40 basamaktanda fazladır sanırım. Ben c++ ile unsigned long tipini kullanıp 9 basamaklı sayılara kadar çıktım. Ama 10. basamak ve üzerinde bocalıyor program.

Sizin bu konuda bilginiz var mı? 40-50 basamaklı değişken tipi oluşturamaz mıyım?


http://drzeki.com/degiskenler-degiskenlerin-tanimlanmasi-ve-sabitler.html şuraya bakarmısın bi


Değişkenlerin tanımlanması, tipleri falan araştırdım ama bu verdğiniz sayfadaki tipler 9-10 basamağa kadar sayı tutuyor galiba. Çok çok daha büyük basamaklar için olmuyor.

GMP kütüphanesine bakabilirsin http://gmplib.org/ . Bunlar la baya çıkabilirsin.


veya

unsigned long long int = uint64_t kadardır yani 8byte.

unsigned long long int = 18446744073709551615ULL; kadar rakama çıkabilirsin.

veya kendin yazıcaksın. Carry Flag sanırım duymussundur. Buna benzer davranişta bira kod yazabilirsin.

http://stackoverflow.com/questions/6659414/efficient-128-bit-addition-using-carry-flag

quote:


http://stackoverflow.com/questions/6659414/efficient-128-bit-addition-using-carry-flag

struct my_uint128_t {
unsigned long hi;
unsigned long lo;
};

my_uint128_t increment128_3(my_uint128_t x)
{
const unsigned long hiAdd=0x0000062DE49B5241;
const unsigned long loAdd=0x85DC198BCDD714BA;

x.lo += loAdd;
x.hi += hiAdd + (x.lo < loAdd); <-- Burası carry flag işlemi oluyor. Eğer x.hi limiti aşarsa 3 ve ya 4 lü structlar kullanıcaksın.
return x;
}
http://stackoverflow.com/questions/6659414/efficient-128-bit-addition-using-carry-flag


Mesela,

 
/* Aslında 257_t çünkü toplama fonsiyonunda last_caryy 1 veya 0 olabilir. */
struct my_uint264_t {
uint64_t hhi;
uint64_t hlo;
uint64_t hi;
uint64_t lo;
uint8_t last_carry;
};

my_uint264_t increment264(my_uint264_t x)
{
const uint64_t hhiAdd=0x0000062DE49B5241;
const uint64_t hloAdd=0x85DC198BCDD714BA;
const uint64_t hiAdd=0x0000062DE49B5241;
const uint64_t loAdd=0x85DC198BCDD714BA;

x.lo += loAdd;
x.hi += hiAdd + (x.lo < loAdd);
x.hlo += hloAdd + (x.hi < hiAdd);
x.hhi += hhiAdd + (x.hlo < hloAdd);
x.last_carry = (x.hhi < hhiAdd);
return x;
}

.
.
.
cout << "Toplam sonuc : " << x.last_carry << x.hhi << x.hlo << x.hi << x.lo << endl;



Ayrıca linki okursan gcc'nin direl uint128_t desteği varmiş. Sanırım bu microsoft compiler için de varmış.

veya string yoluyla bu işi yapmış biri var.

http://ideamonk.blogspot.com/2008/10/adding-large-numbers-in-c.html





< Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Ekim 2012; 2:57:29 >

C
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Cigarette Smoking Man

Arkadaşlar bu yıl C dersi görmeye başladık.

Elimde iki tane kaynak var:
http://www.kadifeli.com/fedon/stdcprtr.php?k_1
http://www1.gantep.edu.tr/~bingul/c/

Hiç birşey bilmiyoruz daha, yeni başladık. Hangisini okuyayım? Ya da sizin bir tavsiyeniz var mı?




G
13 yıl
Yarbay

quote:

Orijinalden alıntı: ► v-s-l ◄

quote:

Orijinalden alıntı: Elektroniker

quote:

Orijinalden alıntı: ► v-s-l ◄

getch(); komutunun <conio.h> ile eklenince çalıştığını söylüyorlar. Ben eklemesem de getch(); çalışıyor. Neden?

Hangi derleyiciyi kullanıyorsun ?

Dev C++ kullanıyorum.

Dev-c++ içindeki derleyici antika da ondan. Şu açtığım konuda hem güncel bir geliştirme ortamı hem de gmp kütüphanesinin kurulumunu anlattım.http://forum.donanimhaber.com/m_66567895/tm.htm

Ben getch metch kullanmayı önermem. Onun yerine programı cmd den çalıştırmanız daha iyi.


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

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: ► v-s-l ◄

quote:

Orijinalden alıntı: Elektroniker

quote:

Orijinalden alıntı: ► v-s-l ◄

getch(); komutunun <conio.h> ile eklenince çalıştığını söylüyorlar. Ben eklemesem de getch(); çalışıyor. Neden?

Hangi derleyiciyi kullanıyorsun ?

Dev C++ kullanıyorum.

Dev-c++ içindeki derleyici antika da ondan. Şu açtığım konuda hem güncel bir geliştirme ortamı hem de gmp kütüphanesinin kurulumunu anlattım.http://forum.donanimhaber.com/m_66567895/tm.htm

Ben getch metch kullanmayı önermem. Onun yerine programı cmd den çalıştırmanız daha iyi.



bilgiler için tşk. konuyu da okudum ama cevabımı tam alamadım. getch() komutunun <conio.h> ya mı ait olup olmadığını öğrenmek istemiştim. bi kitapta da getch komutunu conio.h eklemeden kullanmış. İnternette heryerde conio eklemiş de yapmışlar. conio.h'ı eklemelerinin sebebi ne?


Bu mesaja 1 cevap geldi.
G
13 yıl
Yarbay

quote:

Orijinalden alıntı: ► v-s-l ◄

yani burda getch yerine ne kullanayım? veya başlık mı ekleyim?

bir de ikinci bi sorum daha olucak.

header (başlık), fonksiyon, kütüphane kavramları tam olarak ne oluyor?

edit:

Ayrıca Codeblocksta build log şöyle diyor:

Checking for existence: C:\Users\Asus\Desktop\a\karakterin ascii kodunu yazdırma.exe 
Executing: C:\Program Files (x86)\CodeBlocks/cb_console_runner.exe "C:\Users\Asus\Desktop\a\karakterin ascii kodunu yazdırma.exe" (in C:\Users\Asus\Desktop\a)
Process terminated with status 0 (0 minutes, 11 seconds)


Codeblocks zaten pencereyi tutar hemen kapanmaz, bişey eklemene gerek yok. Yok eğer tutmuyorsa 'Pause after execution' gibi bir seçenek olması lazım. Onu işaretle.
Karakter almak için getch yerine getchar kullan.
build log da bir sorun göremedim, çalışmıyor mu?

başlık ve kütüphane için:http://www1.gantep.edu.tr/~bingul/c/index.php?ders=22


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

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: ► v-s-l ◄

yani burda getch yerine ne kullanayım? veya başlık mı ekleyim?

bir de ikinci bi sorum daha olucak.

header (başlık), fonksiyon, kütüphane kavramları tam olarak ne oluyor?

edit:

Ayrıca Codeblocksta build log şöyle diyor:

Checking for existence: C:\Users\Asus\Desktop\a\karakterin ascii kodunu yazdırma.exe 
Executing: C:\Program Files (x86)\CodeBlocks/cb_console_runner.exe "C:\Users\Asus\Desktop\a\karakterin ascii kodunu yazdırma.exe" (in C:\Users\Asus\Desktop\a)
Process terminated with status 0 (0 minutes, 11 seconds)


Codeblocks zaten pencereyi tutar hemen kapanmaz, bişey eklemene gerek yok. Yok eğer tutmuyorsa 'Pause after execution' gibi bir seçenek olması lazım. Onu işaretle.
Karakter almak için getch yerine getchar kullan.
build log da bir sorun göremedim, çalışmıyor mu?

başlık ve kütüphane için:http://www1.gantep.edu.tr/~bingul/c/index.php?ders=22

Yok sorun yok çalışıyor da yukarda "implicit declaration..." hatası veriyor dediniz ya ben de öyle bişey demedi.


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

quote:

Orijinalden alıntı: TeaTone

Burdaki hatanın sebebi nedir? vs 10 da denediğimde hiç hata yok gayet düzgün çalışıyor.

Bende hata çıkmadı. Muhtemelen dev-c++ içindeki derleyici eski kaldığından veya ayarlarından kaynaklanıyordur. Eğer programı daha önceden derleyip test ettiysen yeniden derlemeden önce programın kapalı olduğundan emin ol yoksa açıkken derleyemezsin.

http://sourceforge.net/projects/codeblocks/files/Binaries/10.05/Windows/codeblocks-10.05mingw-setup.exe/download
Bu ide yi kullanmayı dene içinde mingw nin daha yeni sürümü var.

Ayrıca while zaten tek başına karar verebilir içine if koymana gerek yoktu aynı iş için. İkisinden biri gereksiz şu anda mesela while(1) yapsan da aynı şekilde çalışır.



G
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: huse3292

C# da dizilerle ilgili bazı sorunlar var şunu bana açıklayabilirmisiniz :

{ 
int[] dizi1 = new int[10];
bool[] dizi2 = new bool[10];
string[] dizi3 = new string[10];

for(int i = 0; i<10;++i)
{
Console.WriteLine("{0,5}", dizi1[i]);
Console.Write("{0,6}", dizi2[i]);
Console.WriteLine("{0,5}" dizi3[i]);
}


Yukarıdaki kodda for döngüsünün içinde {0,5} ve {0,6} lar neyi kastediyor ben bu ifadeleri {0} gibi ifadeleri kodlarda çok görüyorum ama adam akıllı yazmamışlar bunların ne işe yaradığını.. Bunları bi anlatabilirseniz arkadaşlar ( yani süslü parantez içindeki sayıları) çok sevinirim.


Burada acikliyor .

http://msdn.microsoft.com/tr-tr/library/system.string.format.aspx





< Bu mesaj bu kişi tarafından değiştirildi garui -- 15 Ekim 2012; 13:43:28 >
Bu mesaja 1 cevap geldi.
H
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: huse3292

C# da dizilerle ilgili bazı sorunlar var şunu bana açıklayabilirmisiniz :

{ 
int[] dizi1 = new int[10];
bool[] dizi2 = new bool[10];
string[] dizi3 = new string[10];

for(int i = 0; i<10;++i)
{
Console.WriteLine("{0,5}", dizi1[i]);
Console.Write("{0,6}", dizi2[i]);
Console.WriteLine("{0,5}" dizi3[i]);
}


Yukarıdaki kodda for döngüsünün içinde {0,5} ve {0,6} lar neyi kastediyor ben bu ifadeleri {0} gibi ifadeleri kodlarda çok görüyorum ama adam akıllı yazmamışlar bunların ne işe yaradığını.. Bunları bi anlatabilirseniz arkadaşlar ( yani süslü parantez içindeki sayıları) çok sevinirim.


Burada acikliyor .

http://msdn.microsoft.com/tr-tr/library/system.string.format.aspx

sağolasın hocam



G
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Dutchman

PictureBox ile ekranın rastgele yerlerinde resim çıkması için aşağıdaki kodu kullanıyorum ama hep üst üste çıkıyorlar. Nasıl düzeltebilirim yardım eder misiniz ?

 
for (int i = 1; i <= 10; i++)
{
Random r = new Random();
PictureBox picbox = new PictureBox();
picbox.Name = "yem" + i.ToString();
picbox.Image = Properties.Resources.food;
picbox.Size = new Size(16, 16);
int x = r.Next(0, this.Width - picbox.Width + 1);
int y = r.Next(0, this.Height - picbox.Height + 1);
picbox.Location = new Point(x, y);
yemler.Add(picbox);
this.Controls.Add(picbox);
}


picbox.SizeMode = PictureBoxSizeMode.CenterImage;

http://www.functionx.com/vcsharp/controls/picturebox.htm





< Bu mesaj bu kişi tarafından değiştirildi garui -- 16 Ekim 2012; 18:16:04 >
Bu mesaja 1 cevap geldi.
W
13 yıl
Onbaşı

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: Dutchman

PictureBox ile ekranın rastgele yerlerinde resim çıkması için aşağıdaki kodu kullanıyorum ama hep üst üste çıkıyorlar. Nasıl düzeltebilirim yardım eder misiniz ?

 
for (int i = 1; i <= 10; i++)
{
Random r = new Random();
PictureBox picbox = new PictureBox();
picbox.Name = "yem" + i.ToString();
picbox.Image = Properties.Resources.food;
picbox.Size = new Size(16, 16);
int x = r.Next(0, this.Width - picbox.Width + 1);
int y = r.Next(0, this.Height - picbox.Height + 1);
picbox.Location = new Point(x, y);
yemler.Add(picbox);
this.Controls.Add(picbox);
}


picbox.SizeMode = PictureBoxSizeMode.CenterImage;

http://www.functionx.com/vcsharp/controls/picturebox.htm

Teşekkürler ama aradığım şey bu değil, resimle anlatayım. 10 tane yem var ama bazen 2 tane gözüküyor birinde 3 diğerinde 7 tane üst üste geliyor, bazen 3 tane gözüküyor 2-3-5 şeklinde üst üste geliyor.

< Resime gitmek için tıklayın >



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
G
13 yıl
Yarbay

quote:

Orijinalden alıntı: selsoft

benim soruna çözüm olan yok mu?

system() fonksiyonu ile basit olarak uygulama çalıştırılabilir ama uygulama üzerinde kontrol için işletim sistemi tarafından sağlanan Process api lerine ihtiyacın var. Ya direkt win32 api kasacaksın ya da daha iyisi çoklu platformlu çözümlere yöneleceksin. Böylece kodun farklı sistemlere taşınabilir.

Ben herzamanki gibi Qt önericem. Process sınıfı için gui şart değil konsolda da çalışabilir. Fakat Qt sadece c++ için, hatırlatmakta fayda var.
http://qt-project.org/doc/qt-4.8/qprocess.html
http://toto-share.com/2011/07/qt-qprocess-tutorial/

C için gtk var ama kullanımı nispeten zordur.

Unutmadan dev-c++ külüstürü ile böyle güncel kütüphaneleri kullanmanın imkanı yok. Çözüm için;http://forum.donanimhaber.com/m_66567895/tm.htm
Konuda gmp kısmını es geçebilirsin, sadece cb + mingw kuracaksın.





< Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 21 Ekim 2012; 18:14:46 >
Bu mesaja 1 cevap geldi.
G
13 yıl
Yüzbaşı

En guzeli VS Express veya VS ile debug ederken F11 ile step-into yapman printf fonksiyonuna . va_list kullanimini gorebilirsin.

http://www.cplusplus.com/reference/clibrary/cstdarg/va_start/ <-- Burada anlatim ve ornek kod mevcut.
 
/* va_start example == http://www.cplusplus.com/reference/clibrary/cstdarg/va_start/ */
#include <stdio.h>
#include <stdarg.h>

void PrintFloats ( int amount, ...)
{
int i;
double val;
printf ("Floats passed: ");
va_list vl; //va_list tipinde vl olusturulmus.
va_start(vl,amount); // va_start ile vl kullanima hazir hale getirilmis. amount kac parametre geldigini tutuyor diyelim(sayfadaki tanimlama tam boyle degil.)
for (i=0;i<amount;i++)
{
val=va_arg(vl,double); //Sirayla vl(va_listten)'den parametreleri cekiyor. Burada tipi sen tanimliyorsun gelecek olan. va_arg gelen parametrenin tipini bilmiyor.
printf ("\t%.2f",val);
}
va_end(vl); //Sonlandirma yapiliyor.
printf ("\n");
}

int main ()
{
PrintFloats (3,3.14159,2.71828,1.41421);
return 0;
}


http://www.cplusplus.com/reference/clibrary/cstdio/vsprintf/ <-- vsprintf ornegine de bakabilirisin.





< Bu mesaj bu kişi tarafından değiştirildi garui -- 22 Ekim 2012; 16:45:12 >
Bu mesaja 1 cevap geldi.
G
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: aalbatros

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: albatros26

visual studio c# üzerinden bir proje hazırlıyorum mysql üzerinden kullanıcı adı ve şifre kontrolu yapararak uygulamayı actırıyorum, ama yapmak istediğim uygulamayı 1 kullanıcı 1 defa acması aynı şifreyi kullarak ikinci kişi açmaya calıştıgı zaman ilk acanın programı kapansın uyarı versin veya hiç acılmasın yine acık olduguna dahir hata versin. yardımcı olucak varmı acaba.

Bunun için bir server - client haberleşmesi lazım. Veya bir windows servisi. Madem database üzerinde çalışıyorsun, her kullanıcı için yeni bir alan ekle. active - inactive şeklinde. Şifre girilince active olur kolon. Başkası gelince aynı şifreyle bu bölüm active-inactive kontrolü yaparsın. active ise izin vermezsin. Program kapatılınca otomatik inactive yapması lazım. Ve program - database bağlantısını kontrol eden bir kod bloğuda lazım database üzerinde çalışan. Session timeout gibi. Connection reset by peer gibi işlemler için.


Tabi bu benim fikrim başkadüşüncelerde çıkabilir.

Aynı Bu Şekilde Yapıyorum Oturum Açan Kişinin Database Bir Bölümüne Online - Offline Kısmı Ekledim Oturum Acında Online 1 Oluyor Kapatınca Offline 0 Oluyor Ama Bazen Program Olsun internet,elektrik,kilitlenmi Gibi Durumlarda Aktive Olarak Kalıyor Cunku Program'dan Çıkış yap Diyince Databese Offline Gönderiyor 1 i 0 Yapıyor Doğal Olarak Bu Durumda Acık Kalıyor Gorunuyor Sitem Bu Yüzden Baska Çözümlere Yöneldim.

İşte bu yüzden bir kod bloğu lazım demiştim. Bu tip elektrik kesilmeleri, bağlantı kesilmelerinde; Connection Timeout, Connection Lost gibi kontrol mekanizmasını yapacak bir Windows servisi (tabi yazdığın yere göre değişir bu web servisi, database kontrolü yapan bir mekanizma olur. ) Aktif bağlantı durumlarını takip edebilmek için yararlı olacaktır. Mesela database de aktif gördüğün kullanıcıya 60 saniyede bir ping atıcak bir mekanizma.

http://blogs.msdn.com/b/bclteam/archive/2005/03/15/396428.aspx
http://www.muukka.net/programming/service/
http://industriousone.com/blog/writing-windows-services-c





< Bu mesaj bu kişi tarafından değiştirildi garui -- 27 Ekim 2012; 1:10:08 >