Arama butonu
Bu konudaki kullanıcılar: 2 misafir, 1 mobil kullanıcı
4171
Cevap
167948
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (20. sayfa)
S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: TeaTone

Kodun mesela c yi 4 e kadar artırıyor. Sonra for u bitirip b yi 2 yapıyor ancak c yi 4 ten devam ettirip 5 yapıyor. Sorunun kaynağı burdan başlıyor. Gerisini sen halledebilirsin sanırım.

Edit: Halledemezsin sorun çok daha büyük . Nasıl halledilir bende bilmiyom valla Uğraşıyorum halledersem atarım kodu.

Soyle islemesi gerekmiyor mu c 500e kadar cikiyor ciktiginda b 1 artttiliyor c bir 500 daha sayiyor bolebole b 500 e cikiyor bu sefer a 1 arttiriliyor her sey bastan tekrarlaniyor bole devam ederken , a 3 e geldi diyelim , c 500 500 sayarken bde 4 e geldi b 4e geldiginde c bastan saymaya basliyor 5 e geldiginde if ifadesi sayilari aliyor. Bu sekilde butun ucgenler aliniyor , sorun kucuk bir sayi verildiginde dogru buyuk sayi verildiginde sadece buyuk sayilarin bulunmasi mesela sinirlari 50 yabinca butun ucgenleri dogru buluyor ama 500 yapinca kenarlari 200lerden falan baslayacak sekilde yaziyor.

Bu arada 3 for u icice kullanmak zorunlu


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

quote:

Orijinalden alıntı: strahd_von_zarovich

quote:

Orijinalden alıntı: TeaTone

Kodun mesela c yi 4 e kadar artırıyor. Sonra for u bitirip b yi 2 yapıyor ancak c yi 4 ten devam ettirip 5 yapıyor. Sorunun kaynağı burdan başlıyor. Gerisini sen halledebilirsin sanırım.

Edit: Halledemezsin sorun çok daha büyük . Nasıl halledilir bende bilmiyom valla Uğraşıyorum halledersem atarım kodu.

Soyle islemesi gerekmiyor mu c 500e kadar cikiyor ciktiginda b 1 artttiliyor c bir 500 daha sayiyor bolebole b 500 e cikiyor bu sefer a 1 arttiriliyor her sey bastan tekrarlaniyor bole devam ederken , a 3 e geldi diyelim , c 500 500 sayarken bde 4 e geldi b 4e geldiginde c bastan saymaya basliyor 5 e geldiginde if ifadesi sayilari aliyor. Bu sekilde butun ucgenler aliniyor , sorun kucuk bir sayi verildiginde dogru buyuk sayi verildiginde sadece buyuk sayilarin bulunmasi mesela sinirlari 50 yabinca butun ucgenleri dogru buluyor ama 500 yapinca kenarlari 200lerden falan baslayacak sekilde yaziyor.

Bu arada 3 for u icice kullanmak zorunlu

Kod baya bir doğru açıkçası sebebini bende bilmiyorum mecbur EXE yi bekliycez .
 
#include <stdlib.h>
#include <stdio.h>

int main()
{
int a,b,c,d,x,y;

for(a=1;a<=100;a++)
{

for(b=1;b<=100;b++){

for(c=1;c<=100;c++){

if((c*c)==(b*b)+(a*a))
printf("%d %d %d\n",c,b,a);


}

c=1; } b=1;
}

}

Senin kodda 100 yapınca hesaplanmıyordu hepsi. Artık hesaplanıyor Ama 500 e çıkamadım.
Edit: Bir kaç deneme sonucu int leri baya sallamıştım takılma oraya





< Bu mesaj bu kişi tarafından değiştirildi TeaTone -- 12 Eylül 2012; 12:17:53 >
Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

Arkadaşlar yoğun olduğumdan dolayı cevap veremiyorum. En kısa zamanda cevap vermeye çalışacağım.
İyi çalışmalar.


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

kod aslında çalışıyor fakat console ekranın satır sayısı dolduğundan önceki verileri gösteremiyor maalesef.
#include <windows.h> 'ı ekle ve printf ile ekrana yazdığın satırın hemen altına Sleep(500); fonksiyonunu ekleyip test edebilirsin. Satır sayısı ile ilgili çözümüde kendin üretirsin artık.
Kolay gelsin.


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

quote:

Orijinalden alıntı: hasan1980125

kod aslında çalışıyor fakat console ekranın satır sayısı dolduğundan önceki verileri gösteremiyor maalesef.
#include <windows.h> 'ı ekle ve printf ile ekrana yazdığın satırın hemen altına Sleep(500); fonksiyonunu ekleyip test edebilirsin. Satır sayısı ile ilgili çözümüde kendin üretirsin artık.
Kolay gelsin.

Teşekkürler hocam , çok karşılaşıyordum bu sorunla



S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: strahd_von_zarovich

Pi sayısını pi=4-(4/3)+(4/5)+(4/7)+(4/9)-(4/11)+....... diye giden formülden bulmamı istiyor kitap kodumun doğru olması lazım ama 3.14 e doğru yaklaşmıyor , 3 de kalıyor nedeni ne ?


#include <stdio.h> 
#include <stdlib.h>

int main()
{
int sayac1=3,a=1,bolucu=1,sayac2=1;
double toplam=0,bolum,bolum1=0;

while(1){
bolucu=bolucu+2;
sayac1++;
sayac2++;

bolum=4/bolucu;
if(sayac1%4==0)
{bolum=bolum*-1;}

bolum1=bolum1+bolum;

toplam=bolum1+4;
printf("%f\n",toplam);

}

system("PAUSE");
return 0;
}


Bunun nedenini bilen var mı ? .


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

quote:

Orijinalden alıntı: strahd_von_zarovich

quote:

Orijinalden alıntı: strahd_von_zarovich

Pi sayısını pi=4-(4/3)+(4/5)+(4/7)+(4/9)-(4/11)+....... diye giden formülden bulmamı istiyor kitap kodumun doğru olması lazım ama 3.14 e doğru yaklaşmıyor , 3 de kalıyor nedeni ne ?


#include <stdio.h> 
#include <stdlib.h>

int main()
{
int sayac1=3,a=1,bolucu=1,sayac2=1;
double toplam=0,bolum,bolum1=0;

while(1){
bolucu=bolucu+2;
sayac1++;
sayac2++;

bolum=4/bolucu;
if(sayac1%4==0)
{bolum=bolum*-1;}

bolum1=bolum1+bolum;

toplam=bolum1+4;
printf("%f\n",toplam);

}

system("PAUSE");
return 0;
}


Bunun nedenini bilen var mı ? .

bolum=4/bolucu; bu satırda bolum double cinsi ama eşitliğin sağ tarafı int cinsinde bölüm yapıyo. Bu yüzden bolum 0.bilmemkaç değeri yerine 0 değerini alıyo. Orayı "bolum=(double)4/bolucu;" yapınca çözülebilir sanırım ve ya benim gözümden kaçan bi yer var ya da program döngüden hiç çıkmıyo..





< Bu mesaj bu kişi tarafından değiştirildi Mtntk -- 13 Eylül 2012; 14:35:24 >
Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: Mtntk

Gene olmadı ne yazık ki, döngü zaten sonsuz olması lazım ama değerler saçma çıkıyor 3.14 e yaklaşık değerlerde sürekli devam etmesi gerekirken , orada double kullanınca 13-14... diye sürekli artmaya başlıyor. int halinde bırakınca da 3 de kalıyor.



S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: elektro_gadget

İstediğiniz şöyle birşey mi?

 
#include <stdio.h>

int main()
{
double op, pi = 4.0;
int count, div = 3, i = 0;

scanf("%d", &count);

for(; div <= count; div += 2) {
op = 4.0 / div;
pi = i++ % 2 ? pi + op : pi - op;

printf("%.12f\n", pi);
}
return 0;
}


Hocam bu bir artı bir eksi şeklinde gidiyor , formülde her dört tanede 1 tane eksi var , buna göre de mod 4 uygulamak gerekiyor ama öyle yapınca da benim programdaki şeyleri yazdırıyor.



£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: strahd_von_zarovich

Bir tablo yapmam gerekiyor ama tablodaki değerler farklı döngüler de hesaplanacak , bu yüzden yan yana yazdıramıyorum bunun bir yolu var mı ? Yani mesela 1den 100 e kadar sayılar alt alta yazdırılacak , farklı bir hesaplama yapılıp bu sayıların karşılarına farklı değerler yazdırılacak. Yani kısaca 100 e kadar yazdırdıktan sonra ilk satıra yeniden gelebilmeyi istiyorum bu nasıl yapılır?

Katar Dizilerini kullanabilirsin.


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

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: strahd_von_zarovich

Hocam bu bir artı bir eksi şeklinde gidiyor , formülde her dört tanede 1 tane eksi var , buna göre de mod 4 uygulamak gerekiyor ama öyle yapınca da benim programdaki şeyleri yazdırıyor.

Senin formül yanlış. Bir - bir + şeklinde gitmesi lazım. Şuraya bak:http://en.wikipedia.org/wiki/Pi#Infinite_series

İnanmıyorsan verdiğim koddaki "i++ % 2" olan yeri "i++ % 4" olarak değiştir. İstediğin gibi çalışacak.

Yok hocam formul dogru bende yanlis zannedip arastirmistim varmis oyle bir formul , i++ %4 olarak donusturmustum zaten , 4 den mi ne basliyor yukari dogru yazdirmaya basliyor, kitapta zaten 3.14159 a gelindiginde durdurulsun demis %2 yapinca o degere ugramiyor.





< Bu mesaj bu kişi tarafından değiştirildi strahd_von_zarovich -- 13 Eylül 2012; 21:49:20 >

S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: strahd_von_zarovich

Bir tablo yapmam gerekiyor ama tablodaki değerler farklı döngüler de hesaplanacak , bu yüzden yan yana yazdıramıyorum bunun bir yolu var mı ? Yani mesela 1den 100 e kadar sayılar alt alta yazdırılacak , farklı bir hesaplama yapılıp bu sayıların karşılarına farklı değerler yazdırılacak. Yani kısaca 100 e kadar yazdırdıktan sonra ilk satıra yeniden gelebilmeyi istiyorum bu nasıl yapılır?

Katar Dizilerini kullanabilirsin.

Dizi kullanamıyorum , printf i araştırdım biraz ama bir bilgide bulamadım ne yazık ki. Başka bir kaç dilde bu özellik varmış ama C de yok zannedersem .


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

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: strahd_von_zarovich

Yok hocam formul dogru bende yanlis zannedip arastirmistim varmis oyle bir formul , i++ %4 olarak donusturmustum zaten , 4 den mi ne basliyor yukari dogru yazdirmaya basliyor, kitapta zaten 3.14159 a gelindiginde durdurulsun demis %2 yapinca o degere ugramiyor.

% 2 bende çalışıyor. 100000 döngüyü biraz geçince 3.14159 a ulaşıyor. Çalışmaması için de bir sebep yok zaten. Formülün doğrusu -+-+-+ şeklinde.

Evet hocam , ben önceki seferimde nasıl buldum aynı formülü anlamadım internetten, kitap yanlış yazmış . Kusura bakmayın boş yere de uğraştırdım . 3.14159 olduğunda kaç terim kullanılmıştır demiş ben direk

if(pi==3.14159)
break; Şeklinde yapmıştım ama olmuyor , yaklaşıklık gibi bir şey mi kullanmak gerekiyor.Durmuyor böyle döngü.



S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: elektro_gadget

O şekilde tutturmak imkansıza yakın çünkü o sayının devamı da var. Koşulun doğru olması için biti bitine tutması lazım. Onun yerine bir aralık kullanabilirsin, (pi > 3.145192 && pi < 3.141593) gibi. Aralığı daralttıkça döngü uzar ve hassaslık artar. Aralığı genişletince de tam tersi.

Küçülterek 370 bin küsürde durdurdu , bu sorunun amacı neydi anlamadım ben. Teşekkür ederim yardımlarınız için hocam .



£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: strahd_von_zarovich

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: strahd_von_zarovich

Bir tablo yapmam gerekiyor ama tablodaki değerler farklı döngüler de hesaplanacak , bu yüzden yan yana yazdıramıyorum bunun bir yolu var mı ? Yani mesela 1den 100 e kadar sayılar alt alta yazdırılacak , farklı bir hesaplama yapılıp bu sayıların karşılarına farklı değerler yazdırılacak. Yani kısaca 100 e kadar yazdırdıktan sonra ilk satıra yeniden gelebilmeyi istiyorum bu nasıl yapılır?

Katar Dizilerini kullanabilirsin.

Dizi kullanamıyorum , printf i araştırdım biraz ama bir bilgide bulamadım ne yazık ki. Başka bir kaç dilde bu özellik varmış ama C de yok zannedersem .

C++ ile de yapabilirsin. C++ katar dizileri diye aratırsan bulursun. Mantık aynı ikisindede.


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

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: strahd_von_zarovich

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: strahd_von_zarovich

Bir tablo yapmam gerekiyor ama tablodaki değerler farklı döngüler de hesaplanacak , bu yüzden yan yana yazdıramıyorum bunun bir yolu var mı ? Yani mesela 1den 100 e kadar sayılar alt alta yazdırılacak , farklı bir hesaplama yapılıp bu sayıların karşılarına farklı değerler yazdırılacak. Yani kısaca 100 e kadar yazdırdıktan sonra ilk satıra yeniden gelebilmeyi istiyorum bu nasıl yapılır?

Katar Dizilerini kullanabilirsin.

Dizi kullanamıyorum , printf i araştırdım biraz ama bir bilgide bulamadım ne yazık ki. Başka bir kaç dilde bu özellik varmış ama C de yok zannedersem .

C++ ile de yapabilirsin. C++ katar dizileri diye aratırsan bulursun. Mantık aynı ikisindede.

Yok yani kullanmamam gerekiyor hocam , kitapta nereye kadar geldiysem ondan önceki konuları kullanabiliyorum.


Bu mesaja 1 cevap geldi.
C
13 yıl
Çavuş

merhaba,

öncelikle c# de yeniyim.

method a parametre olarak sınıf tipinde değişken(class type variable) verilebiliyor mu veriliyorsa bunun anlamı nedir. sınıf tipinde değişkenin normal değişkenden farkı nedir.
bunun yanında şöle bişi olabilir mi, sınıf nesnesi türünde değişken(sınıf nesnesi derken; dışarıdan sınıfın özellikleri ulaşmak için oluşturduğumuz nesneden bahsediyorum), oluyorsa bunu da parametre olarak kullanabilirmiyiz. bu olayları kafamda sağlıklı bi şekilde canlandıramıyorum.

not : ha bir de arayüz türünde bir altküme tanımlamak diye bişi var. IEnumerable altküme = .......

kısacası burda kafama takılan, şu veya bu türünde değişkenlerdir. bunların özellikleri nasıl farklılıklar gösterir kullanım alanı açısından.

bu sorular aptalca da olabilir tabii:)





< Bu mesaj bu kişi tarafından değiştirildi cinfis -- 14 Eylül 2012; 12:40:40 >
Bu mesaja 2 cevap geldi.
C
13 yıl
Çavuş

Arkadaşlar bir döngü kurdum ve bu döngüdeki yazıları richtextbox'a richtextbox1.appendtext aracılığı ile aktarabılıyorum ama aralıklarında satır bırakmam lazım ama hangi kod ile bırakacağımı bilmiyorum.Araştırdım özelliklerine baktım ama pek anlayamadım defterleri karşıtırdım bulamadım yardım ederseniz sevinirim.


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

quote:

Orijinalden alıntı: strahd_von_zarovich


Nereye kadar geldin en son ?


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

quote:

Orijinalden alıntı: cinfis


Merhaba. Konuya hoşgeldin Sanırım class konusunda sıkıntıların var.

Öncelikle class kullanımından bahsetmek istiyorum. Class'ların içinde fonksiyonlar yer alır. Ardından bu fonksiyonlar main ya da buton vs. içerisinde çağırılır ve işleme başlanmış olur. Örneğin sana ödev olsun şöyle birşey yap, yapamazsan buradan yardım alabilirsin gene : Mühendis sınıfı oluştur. Mühendis sınıfının içinde maaş adlı bir fonksiyon olsun. Bu fonksiyon kendine yollanan değeri 0,8 ile çarpsın.

class Program{
....
.....

public void deneme(){
...islemler...
} // deneme adında bir fonksiyon oluşturduk. class içindeki işlemleri fonksiyonlar kullanarak yapmamız daha sağlıklı olur.

}

Program test = new Program(); // bunu class dışında tanımladık. Burada yukardaki program adlı class'ımıza test adında obje atadık.

test.deneme(); // şimdi burada fonksiyonumza parametre gönderebiliriz. (örneğin test.deneme(5);) yada parametre kullanmadan fonksiyonun içeriğini çağırabiliriz. Genellikle parametreler class'larda bu tarz kullanılır.