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

 
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
int x, asallik,y = 0; // Burada neden y=0 ?

programbasi:
cout << "Lutfen sifirdan buyuk bir sayi giriniz ";
cin >> x;


for(asallik = 1;asallik <=x; asallik++){
if(x%asallik == 0)
y++; // Neden y++ dedik ?

}
if(y == 2) // Abi y hiç girmedik, nerden çıktı bu ? Neden y == 2 ?
cout << "sayi asaldir"<<endl;
else
cout << "sayi asal degildir." <<endl;
y = 0; // Bu ne ya, bu y delirtti abi




goto programbasi;
}



Compiler a yazıp direkt // tan sonraki yargıları daha iyi okuyabilirsiniz, arkadaşlar lütfen yardım. Haftaya pazartesi sınav var, 3 kişi oturduk, delircez, çözemiyoruz.



-
12 yıl
Yüzbaşı

@Taxi-Driver
C# ile Android uygulaması geliştirebilirsin. Bunun içinde Xamarin ve dot43 kelimelerini araştırmanı öneririm.

@neselihayalet

int y = 0; Buna ilklendirme diyoruz. Eğer int y; şeklinde yazarsan y değişkenin içinde çöp değerler olur.
Bunu daha iyi anlamak için
int y;
cout << y << endl; yazarsanız daha iyi anlarsınız.

y++ denmesinin sebebi matematik ile ilgili. Asal sayılar sadece 1'e ve kendisine bölünebilen sayılardır. Yani buradan anlayacağımız sadece 1'den başlayarak kendisine kadar gelen sayılardan sadece 2 tane sayıya bölünebilir. Bunlarda 1 ve kendisidir.

for döngüsüne 1 den başlayıp sayının kendisine kadar(kendisi dahil) birer birer arttırıyoruz. Sonra bu sayılar girdiğiniz sayıya bölünüyor.
Sonra bu bölümünün sonucunda kalanları kontrol ediyoruz. Onu da mod alma operatörü ile yapıyoruz.
Eğer sayı asal ise sadece 2 kere kalan 0 olacak. y'i arttırmamızın sebebi de bu kaç tane kalanın 0 olduğunu hesaplıyoruz.

Sonra bunu kontrol ediyoruz. Eğer y == 2 olursa bu sayı asaldır diyoruz. 2 dışındaki değerlerde asal değildir diyoruz.

Eğer y = 0 yapmazsak for döngüsünün başına tekrar geldiğimizde y'nin değeri hala 2'dir. Böyle olunca Gireceğimiz sayı asal olsun olmasın y sayısını en az 2 kere arttıracağız böyle oluncada sürekli if kısmında else düşecektir. Yani sayımız asalda olsa y = 4 olur ve else kısmına girip asal değildir yazar.

Biraz karışık yazmış olabilirim ama umarım anlarsınız.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @neselihayalet , @Taxi-Driver
A
12 yıl
Binbaşı

Teşekkürler.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @-Source-
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Taxi-Driver

Teşekkürler.

dot42 olacaktı kusura bakmayın yanlış yazmışım :)



S
12 yıl
Binbaşı

Hocam onun da belirteci %d degil mi?

ayrica int neden 7 basamakli bir sayiyi yazamaz ki?



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @ThisisaNightmare
G
12 yıl
Yarbay

quote:

Orijinalden alıntı: eronik

Hocam onun da belirteci %d degil mi?

ayrica int neden 7 basamakli bir sayiyi yazamaz ki?

long long tipi 64 bit (2^63). Visual c++ ta __int64, gcc de int64_t olarak kısaltılmış (stdint.h başlığını eklemek gerekiyor).


Bu mesaja 1 cevap geldi.
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: eronik

Hocam onun da belirteci %d degil mi?

ayrica int neden 7 basamakli bir sayiyi yazamaz ki?

Belirteci ne bilmiyorum.

int C# da 32 bittir, bu da kafadan 4 trilyon yapar, fakat int signed se yani isaretliysa bunlarin ilk biti isaret icin gider, buda 31 bit eder yani 2 trilyon yapar, bu da 9 basamakli sayiya kadar problem cikarmaz.


Bu mesaja 2 cevap geldi.
H
12 yıl
Onbaşı

yardım lütfen

c# ta 1000 e kadar aralarında asal olan sayı çiftlerini ekrana yazdıran program.
ikili şekilde olacak örnek 10 ve 21
console olacak





< Bu mesaj bu kişi tarafından değiştirildi humsene -- 12 Kasım 2013; 21:21:22 >
Bu mesaja 2 cevap geldi.
S
12 yıl
Binbaşı

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: eronik

Hocam onun da belirteci %d degil mi?

ayrica int neden 7 basamakli bir sayiyi yazamaz ki?

long long tipi 64 bit (2^63). Visual c++ ta __int64, gcc de int64_t olarak kısaltılmış (stdint.h başlığını eklemek gerekiyor).

hocam <stdio.h> haricinde kutuphane kullanamiyoruz maalesef



< Bu ileti mobil sürüm kullanılarak atıldı >

S
12 yıl
Binbaşı

quote:

Orijinalden alıntı: ThisisaNightmare

quote:

Orijinalden alıntı: eronik

Hocam onun da belirteci %d degil mi?

ayrica int neden 7 basamakli bir sayiyi yazamaz ki?

Belirteci ne bilmiyorum.

int C# da 32 bittir, bu da kafadan 4 trilyon yapar, fakat int signed se yani isaretliysa bunlarin ilk biti isaret icin gider, buda 31 bit eder yani 2 trilyon yapar, bu da 9 basamakli sayiya kadar problem cikarmaz.

e hocam sorun ne olabilir zaman 7 basamak ve sonrasini gostermiyor.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: eronik


quote:

Orijinalden alıntı: ThisisaNightmare

quote:

Orijinalden alıntı: eronik

Hocam onun da belirteci %d degil mi?

ayrica int neden 7 basamakli bir sayiyi yazamaz ki?

Belirteci ne bilmiyorum.

int C# da 32 bittir, bu da kafadan 4 trilyon yapar, fakat int signed se yani isaretliysa bunlarin ilk biti isaret icin gider, buda 31 bit eder yani 2 trilyon yapar, bu da 9 basamakli sayiya kadar problem cikarmaz.

e hocam sorun ne olabilir zaman 7 basamak ve sonrasini gostermiyor.

Ben anlamadim hangi dil kullandigini, dil C/C++ sa birsuru nedeni olabilir, oteki dillerde(C#, Java) pek mumkun degil.


Bu mesaja 1 cevap geldi.
S
12 yıl
Binbaşı

quote:

Orijinalden alıntı: ThisisaNightmare

quote:

Orijinalden alıntı: eronik


quote:

Orijinalden alıntı: ThisisaNightmare

quote:

Orijinalden alıntı: eronik

Hocam onun da belirteci %d degil mi?

ayrica int neden 7 basamakli bir sayiyi yazamaz ki?

Belirteci ne bilmiyorum.

int C# da 32 bittir, bu da kafadan 4 trilyon yapar, fakat int signed se yani isaretliysa bunlarin ilk biti isaret icin gider, buda 31 bit eder yani 2 trilyon yapar, bu da 9 basamakli sayiya kadar problem cikarmaz.

e hocam sorun ne olabilir zaman 7 basamak ve sonrasini gostermiyor.

Ben anlamadim hangi dil kullandigini, dil C/C++ sa birsuru nedeni olabilir, oteki dillerde(C#, Java) pek mumkun degil.

C hocam



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
C
12 yıl
Binbaşı

quote:

Orijinalden alıntı: StoryLine

Arkadaşlar visual basicde, fotoğrafı 12 ye böldüm karıştır butonuna bastığım zaman resimlerin karışmasını istiyorum, nasıl yapabilirim. Bir puzzle yapıyorum resimli karıstır butonuna basınca karışsın istiyorum yardımcı olacak var mı?

Yardımcı olacak var mı ?


Bu mesaja 1 cevap geldi.
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: StoryLine

quote:

Orijinalden alıntı: StoryLine

Arkadaşlar visual basicde, fotoğrafı 12 ye böldüm karıştır butonuna bastığım zaman resimlerin karışmasını istiyorum, nasıl yapabilirim. Bir puzzle yapıyorum resimli karıstır butonuna basınca karışsın istiyorum yardımcı olacak var mı?

Yardımcı olacak var mı ?

Visual basic bilmiyorum ama algoritma olarak yardımcı olmaya çalışayım. Böldüğün resimleri nerede tutuyorsun. 12 farklı değişkende mi yoksa bir dizide mi tutuyorsun. Eğer dizide tutuyorsan tekrar gösterirken rastgele indis vererek gösterebilirsin.


Bu mesaja 2 cevap geldi.
C
12 yıl
Binbaşı

Hocam her bir resim ayrı ayrı picturebox'ların içinde



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @-Source-
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: StoryLine

Hocam her bir resim ayrı ayrı picturebox'ların içinde

Her picturebox'ın bir nesnesi vardır galiba. Bu nesnenin getImage(), setImage() isimli fonksiyonu varsa eğer bu pictureboxların nesnelerini bir diziye atarsın.
Sonra for döngüsü ile bulundugun indexdeki picturebox nesnesinin setBox fonksiyonunu kullanarak başka bir indisdeki nesnenin getImage fonksiyonunu kullanarak resimlerini değiştirebilirsin.

pseudo kod olarak yazacak olursam.
 
PictureBox nesneler[12] = {PictureBox.nesne1, ..., PictureBox.nesne12};
int rand[12] = {3, 1, 5, 2, 7, 12, 8, 11, 6, 4, 9, 10};
for i : 0, .. ,11
{
nesneler[i].setImage(nesneler[rand[i] - 1].getImage());
}


Edit: rand [ i ]'i (rand [ i ] - 1 )olarak değiştirdim yazarken indis olarak yazmayı unutup 1 den başlatmışım :s.
Ayrıca MrOwl'un dediği gibi random sayı üretme kısmını o şekilde yaparsan daha iyi olur. Ben fazla uzatmamak için kısaca böyle yazmıştım.





< Bu mesaj bu kişi tarafından değiştirildi -Source- -- 12 Kasım 2013; 22:36:43 >

M
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: -Source-

quote:

Orijinalden alıntı: StoryLine

quote:

Orijinalden alıntı: StoryLine

Arkadaşlar visual basicde, fotoğrafı 12 ye böldüm karıştır butonuna bastığım zaman resimlerin karışmasını istiyorum, nasıl yapabilirim. Bir puzzle yapıyorum resimli karıstır butonuna basınca karışsın istiyorum yardımcı olacak var mı?

Yardımcı olacak var mı ?

Visual basic bilmiyorum ama algoritma olarak yardımcı olmaya çalışayım. Böldüğün resimleri nerede tutuyorsun. 12 farklı değişkende mi yoksa bir dizide mi tutuyorsun. Eğer dizide tutuyorsan tekrar gösterirken rastgele indis vererek gösterebilirsin.

Bu soruyu ben de yanıtlayacaktım lakin ben de VB bilmiyorum. Mesele de dile kalmış durumda. Karıştırma işlemi basit bir işlem, şöyle biraz düşününce pratikte kullanılan şeyler var. Yazmış bulundum devamını getireyim bari :)

Resmi nxm veya n^2(kare matris) bölüyorsanız nxm veya n^2 kadar aralıkta rastgele değişkenler tanımlayın. Örneğin 4x3 bölüyorsanız [0,12) arasında değişken tutabilirsiniz. Bir rastgele sayı seçin(6 olsun), bu seçileni 1x1'e (diziler için0,0) atayın. Sonra bu bulunan rastgele değeri diziden çıkarın. Bir dahaki seçimde [0,11] - {6} aralığından bir rastgele sayı seçilir. Bunu da (3 olsun) 1x2 (dizilerde 0,1 veya başka bir sırayla fark etmez) atayın. Ve bunu da diziden çıkarın. Bir sonraki aralık [0,11] -{6,3} aralığı olacaktır. Düzen içerisinde aynı sayıda tekrar eden terimler bu şekilde karıştırılabilir.

Bahsettiğim şey rastgele seçimlerde aynı seçimi tekrar yapmamak üzerine bir mantık. Özellikle kelime algoritmalarında, anagramda çok sık kullanırdım. VB'de nasıl bu işlem yapılır bilmiyorum. C#'da kısa metotları var. Duruma göre başka mantıklar da oluşturulabilir. Ben olsam yine bu yöntemi kullanırdım. Source arkadaşım belki daha pratik bir yöntem önerebilir.

İyi çalışmalar



H
12 yıl
Onbaşı

yardım edebilecek yok mu yaa


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @humsene
M
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: humsene

yardım lütfen

c# ta 1000 e kadar aralarında asal olan sayı çiftlerini ekrana yazdıran program.
ikili şekilde olacak örnek 10 ve 21
console olacak

İki döngü alacaksanız çift1, çift2. Sırayla karşılaştırın.

3,3
3,4
3,5
...
3,1000
4,3
...
1000,1000


Aralarında asalın tanımı, en basit dilde sadeleşmeyen kesirler oluşturmalarıdır diyebiliriz.

Bunu da çeşitli yöntemlerle yapabilirsiniz. Basit olanı, küçük sayıya kadar olan sayıları diğerine bölmeyi denersiniz(2den başlayarak). Tam bölünüyorsa aralarında asal değillerdir. Bunu biraz hızlandırmak için yarısına kadar olanlara bölersiniz. Misal ikisi de ikinin katı olanları değerlendirmeyin bile. Asal sayı algoritmalarındaki, özellikle Sieve of Eratosthenes mantık bunda da kolaylık sağlayabilir. Biraz düşünün.

İyi çalışmalar


Bu mesaja 1 cevap geldi.
S
12 yıl
Çavuş

C#
selam arkadaşlar bi sorum olacak
form1 ve form 2 var
form1 de groupbox içinde kull.adı ve şifre giriliyor
form2 de başarılı giriş veya değil yazıyor burda sorun yok ama istiyorum ki form1 de kull.adı ve şifre 3 kere yanlış girildimi form1 deki groupbox kitlensin groupbox ı form2 den yönetemiyorum form2 de girmeliyim bu kodu çünkü koşullarım form2 de yazılı (yardım etmek isteyip de tam anlamayan olursa kodları yazarım burada)





< Bu mesaj bu kişi tarafından değiştirildi Sebastian54 -- 12 Kasım 2013; 21:46:04 >
Bu mesaja 1 cevap geldi.