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

2.kez sorucam ama aşağıda neyin yazdırılabileceği bilinebilir mi? İlk 2 si tamam sadece 3.printf önemli

int i;
float b=8.1,c=0.7;

i=b/c;
printf("%d\n",i);
c=c*c;
printf("%f\n",c);
i=i+b;
printf("%f\n",i);


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

quote:

Orijinalden alıntı: strahd_von_zarovich

2.kez sorucam ama aşağıda neyin yazdırılabileceği bilinebilir mi? İlk 2 si tamam sadece 3.printf önemli

int i;
float b=8.1,c=0.7;

i=b/c;
printf("%d\n",i);
c=c*c;
printf("%f\n",c);
i=i+b;
printf("%f\n",i);

Yine mi

11
0.490000
0.490000

Yani 19 değil. Yine yanlış bir printf denemesi.


printf("%d\n",i); //olursa 19
printf("%f\n",(float)i); // olursa 19.000000

printf("%f\n",i); // olursa 0.490000 -> Direk böyle kullanırsan diğerlerini print etmezsen başka bi değer çıkacaktır.
Koddaki ilk iki printf silinir ise printf("%f\n",i); // 2.168831



In function 'int main()':
Line 10: warning: converting to 'int' from 'float'
Line 14: warning: converting to 'int' from 'float'





< Bu mesaj bu kişi tarafından değiştirildi garui -- 20 Kasım 2012; 0:05:22 >
Bu mesaja 1 cevap geldi.
M
13 yıl
Yüzbaşı

 
#include<stdio.h>
#include<conio.h>
int main (void)
{
int i,j;
for(i=0,j=0;i+j<=10;i++,j++)
printf("%d\n",i+j);
getch();
return(0);
}


beyler burda ++ i ve j nin sonundalar

 
#include<stdio.h>
#include<conio.h>
int main (void)
{
int i,j;
for(i=0,j=0;i+j<=10;++i,++j)
printf("%d\n",i+j);
getch();
return(0);
}


Burda da önündeler. Şimdi ++ önce olunca sayıları artırıp öyle işleme girmesi gerekmiyor mu? Ben ikisini de yazdırdım ikisi de aynı şeyi yazıyor





< Bu mesaj bu kişi tarafından değiştirildi mertov -- 20 Kasım 2012; 0:15:31 >
Bu mesaja 1 cevap geldi.
G
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: mertov

Burda da önündeler. Şimdi ++ önce olunca sayıları artırıp öyle işleme girmesi gerekmiyor mu? Ben ikisini de yazdırdım ikisi de aynı şeyi yazıyor

For için farketmez. Bu assignment işlemleri sırasında önem taşır. Birde performans farkını unutmamak lazım tabi. ++i daha performanslıdır diyebiliriz doğru kullanırsan.

#include <stdio.h> 

int main()
{

int i=5,k=0;

k=++i;
printf("k : %d, i : %d\n",k,i);

k=i++;
printf("k : %d, i : %d\n",k,i);

k=(++i);
printf("k : %d, i : %d\n",k,i);

k=(i++);
printf("k : %d, i : %d\n",k,i);
return 0;
}


 
k : 6, i : 6
k : 6, i : 7
k : 8, i : 8
k : 8, i : 9





< Bu mesaj bu kişi tarafından değiştirildi garui -- 20 Kasım 2012; 0:32:09 >
Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: strahd_von_zarovich

2.kez sorucam ama aşağıda neyin yazdırılabileceği bilinebilir mi? İlk 2 si tamam sadece 3.printf önemli

int i;
float b=8.1,c=0.7;

i=b/c;
printf("%d\n",i);
c=c*c;
printf("%f\n",c);
i=i+b;
printf("%f\n",i);

Yine mi

11
0.490000
0.490000

Yani 19 değil. Yine yanlış bir printf denemesi.


printf("%d\n",i); //olursa 19
printf("%f\n",(float)i); // olursa 19.000000

printf("%f\n",i); // olursa 0.490000 -> Direk böyle kullanırsan diğerlerini print etmezsen başka bi değer çıkacaktır.
Koddaki ilk iki printf silinir ise printf("%f\n",i); // 2.168831



In function 'int main()':
Line 10: warning: converting to 'int' from 'float'
Line 14: warning: converting to 'int' from 'float'



Hoca bugün sınavda sordu da , ilk olarak bilinemez yazdım , bilinemezi nasıl gösteriyim diye sorunca orada öyle bir şey yok dedi bu sefer de 19.000000 yazdım , o da olmadı anlaşılan. 0.490000 yazmak hiç aklıma gelmezdi, nedenini de çözebilmiş değilim.


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

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: mertov

Burda da önündeler. Şimdi ++ önce olunca sayıları artırıp öyle işleme girmesi gerekmiyor mu? Ben ikisini de yazdırdım ikisi de aynı şeyi yazıyor

For için farketmez. Bu assignment işlemleri sırasında önem taşır. Birde performans farkını unutmamak lazım tabi. ++i daha performanslıdır diyebiliriz doğru kullanırsan.

#include <stdio.h> 

int main()
{

int i=5,k=0;

k=++i;
printf("k : %d, i : %d\n",k,i);

k=i++;
printf("k : %d, i : %d\n",k,i);

k=(++i);
printf("k : %d, i : %d\n",k,i);

k=(i++);
printf("k : %d, i : %d\n",k,i);
return 0;
}


 
k : 6, i : 6
k : 6, i : 7
k : 8, i : 8
k : 8, i : 9






Çok açıklayıcı bir örnek teşekkürler


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

quote:

Orijinalden alıntı: strahd_von_zarovich

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: strahd_von_zarovich

2.kez sorucam ama aşağıda neyin yazdırılabileceği bilinebilir mi? İlk 2 si tamam sadece 3.printf önemli

int i;
float b=8.1,c=0.7;

i=b/c;
printf("%d\n",i);
c=c*c;
printf("%f\n",c);
i=i+b;
printf("%f\n",i);

Yine mi

11
0.490000
0.490000

Yani 19 değil. Yine yanlış bir printf denemesi.


printf("%d\n",i); //olursa 19
printf("%f\n",(float)i); // olursa 19.000000

printf("%f\n",i); // olursa 0.490000 -> Direk böyle kullanırsan diğerlerini print etmezsen başka bi değer çıkacaktır.
Koddaki ilk iki printf silinir ise printf("%f\n",i); // 2.168831



In function 'int main()':
Line 10: warning: converting to 'int' from 'float'
Line 14: warning: converting to 'int' from 'float'



Hoca bugün sınavda sordu da , ilk olarak bilinemez yazdım , bilinemezi nasıl gösteriyim diye sorunca orada öyle bir şey yok dedi bu sefer de 19.000000 yazdım , o da olmadı anlaşılan. 0.490000 yazmak hiç aklıma gelmezdi, nedenini de çözebilmiş değilim.

Merak etme senin cevabın doğru görünüyor. Yani hocanın istediği cevap 19.000000 olarak görünüyor. Ama o bir kodun içine koyulur compile edilirse daha önceden gösterdeiğimiz gibi abuk subuk şeyler çıkıcak. Hocan bu konudaki hatasının farkında değil. Böyle şeyler çıktığını farketse sormazdı gibime geliyor.


Şimdi

int i;
float b=8.1,c=0.7;

i=b/c;
printf("%d\n",i);
c=c*c;
printf("%f\n",b); // Burada c yerine b bastırıyoruz.
i=i+b;
printf("%f\n",i); //Şimdi sonuç 8.099998 çıktı compile sonrası.

Bunu ezberlemenizi bekliyor olduğunu düşünmüyorum. Sadece explicit casting kullanması gerektiğini bilmiyor veya bufferda float sonrası integer değeri basarsanız bir önceki floatun buffer değeri ekrana basılır gibi bir kural var benim haberim yok. (Kod çıktısı böyle bir sonuç veriyorda :) )
Benim düşüncem, o kodun printf("%f\n",(float)i); //şeklinde olması lazım veya printf("%d\n",i);

Ayrıca, iyi bunu sormamış :) Gerçi ödev gibi sormuştu.

int i = 2.1f/0.3f;
printf("%d\n",i); //6
i = 2.1/0.3;
printf("%d\n",i); //7
float a=2.1,b=0.3;
i=a/b;
printf("%d\n",i); //6

Bu farkdan da haberi yok.





< Bu mesaj bu kişi tarafından değiştirildi garui -- 20 Kasım 2012; 0:52:53 >
Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: garui

Teşekkürler hocam , bakalım ne diyecek merak ediyorum.



G
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: mertov
Çok açıklayıcı bir örnek teşekkürler

Rica ederim


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

Ortama biraz heyecan katıp, biraz da biz soralım mı? Belki arkadaşlar da merak edip çözme gayreti içerisine düşerler

Çözüm verilmediği takdirde, bir gün sonra ben veririm. Daha çok örnek olmuş olur arayanlar için.


Soru : Kesir sadeleştirme. Kullanıcının gireceği x/y değerini eğer sadeleşebiliyorsa sadeleştirilmiş haliyle ekrana yazan, sadeleşmiyorsa "Girdiğiniz oran en sade halidir." yazan program yazınız.

Ek: x,y tamsayı olsun.





< Bu mesaj bu kişi tarafından değiştirildi MrOwl -- 20 Kasım 2012; 22:27:22 >
Bu mesaja 1 cevap geldi.
M
13 yıl
Yüzbaşı

Beyler burda nerde yanlış var?

#include<stdio.h> 
#include<conio.h>
#include<math.h>
int main (void)
{
int x,y;
printf("x sayisini giriniz: ");
scanf("%d",&x);
printf("y sayisini giriniz: ");
scanf("%d",&y);
printf("x üzeri y = %d",pow(x.y));
getch();
return(0);
}


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

quote:

Orijinalden alıntı: mertov

Beyler burda nerde yanlış var?

#include<stdio.h> 
#include<conio.h>
#include<math.h>
int main (void)
{
int x,y;
printf("x sayisini giriniz: ");
scanf("%d",&x);
printf("y sayisini giriniz: ");
scanf("%d",&y);
printf("x üzeri y = %d",pow(x.y));
getch();
return(0);
}


printf("x üzeri y = %d",pow(x.y));

x.y değil x,y olacak.


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

quote:

Orijinalden alıntı: ANIL_00

Arkadaşlar bana bu soru hakkında yardımcı olabilir misiniz? En azından C# kodları gerekli, yardımınız için teşekkür ederim.
< Resime gitmek için tıklayın >

Yardımcı olabilirim. Siz bir yazmaya başlayın, takıldığınız noktada yardım ederiz.



M
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: ANIL_00


quote:

Orijinalden alıntı: MrOwl

quote:

Orijinalden alıntı: ANIL_00

Arkadaşlar bana bu soru hakkında yardımcı olabilir misiniz? En azından C# kodları gerekli, yardımınız için teşekkür ederim.
< Resime gitmek için tıklayın >

Yardımcı olabilirim. Siz bir yazmaya başlayın, takıldığınız noktada yardım ederiz.

Matematik temelim iyi olmadığı için soruyu yapamıyorum, teşekkür ederim cevabınız için.

Matematik temelinizi geliştirmeniz lazım, esasında matematik temeline dayanan bir soru da değil. Şöyle yardımcı olayım.

y=x^2-2x demiş 0<=x<2 için

bunu işleme şöyle dökebiliriz


if(x>=0 && x<2)
y=x*x-2*x;


Matematik sorusunu okumaktan farkı yok.

Eğer x 0'a eşit büyük veya 2'den küçükse ---> y=x^2-2x

Bu şekilde diğer kısımları da yapmaya çalışın.





< Bu mesaj bu kişi tarafından değiştirildi MrOwl -- 21 Kasım 2012; 8:54:03 >
Bu mesaja 2 cevap geldi.
B
13 yıl
Çavuş

Arkadaşlar bir dataGrid'in 0'ıncı stününun sürekli olarak son satırını nasıl bir label a okutabilirim?

aslında projemde bulunan "silme" ve "düzenleme" seçenekleri accsess Db'imde birincil anahtar olarak kullandığım kayıt numarası sutununu sabit olarak alıyor.

yapmak istediğim "ekle" seçeneğimden kayıt numarasını kaldırmak. her kayıda ootomatık olarak kendısının numara vermesini istiyorum. girişi biraz daha hızlandıracagı ve kolaylastıracagını düşünüyorum.

fakat işin içinden çıkmadım.

1) kayıt yapıldıgı zaman son numrayı okuyup + 1 eklemesı gerekıyor

2) kullanıcı aradan bir kayıt sildiği zaman bunu program nasıl farkedip silinen numarayı dolduracak?
örneğin
1
2
3 ile devam eden kayıt numaralarından 2 numara silindi. program silinen 2'inci kayıdın yerine yine bir kayıt oluşturmalı. işte benimde kitlendiğim nokta bu :)

dileyene projemin bir örneğini verebilirim kendisine örnek olması amacı ile. Projemin mantığı bir kayıt defteri oluşturmak

ilginize şimdiden teşekkür ederim






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


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

quote:

Orijinalden alıntı: MrOwl

quote:

Orijinalden alıntı: mertov

Beyler burda nerde yanlış var?

#include<stdio.h> 
#include<conio.h>
#include<math.h>
int main (void)
{
int x,y;
printf("x sayisini giriniz: ");
scanf("%d",&x);
printf("y sayisini giriniz: ");
scanf("%d",&y);
printf("x üzeri y = %d",pow(x.y));
getch();
return(0);
}


printf("x üzeri y = %d",pow(x.y));

x.y değil x,y olacak.

Teşekkürler hoca notlarında hepsine nokta koymuş. denedim şimdi de hep 0 basıyor. Bi de tan(45) 1 pi ile yazmak gerekiyorsa nasıl yazıcaz onu?





< Bu mesaj bu kişi tarafından değiştirildi mertov -- 21 Kasım 2012; 13:12:26 >
Bu mesaja 1 cevap geldi.
G
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: mertov

quote:

Orijinalden alıntı: MrOwl

quote:

Orijinalden alıntı: mertov

Beyler burda nerde yanlış var?

#include<stdio.h> 
#include<conio.h>
#include<math.h>
int main (void)
{
int x,y;
printf("x sayisini giriniz: ");
scanf("%d",&x);
printf("y sayisini giriniz: ");
scanf("%d",&y);
printf("x üzeri y = %d",pow(x.y));
getch();
return(0);
}


printf("x üzeri y = %d",pow(x.y));

x.y değil x,y olacak.

Teşekkürler hoca notlarında hepsine nokta koymuş. denedim şimdi de hep 0 basıyor. Bi de tan(45) 1 pi ile yazmak gerekiyorsa nasıl yazıcaz onu?


http://www.cplusplus.com/reference/clibrary/cmath/pow/

double pow ( double base, double exponent );
long double pow ( long double base, long double exponent );
float pow ( float base, float exponent );
double pow ( double base, int exponent );
long double pow ( long double base, int exponent );

Yani fonksiyon int deger donmuyor. Ama iceri int gonderirsen pek sorun cikarmaz.

printf("x üzeri y = %d",(int) pow(x,y));

seklinde yazarsan duzgun basacaktir.

Tan icin ornek asagida.

http://www.cplusplus.com/reference/clibrary/cmath/tan/


Ornekte %lf var belki sende cailsmaz %f deneyebilirsin.


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

Veri yapıları sınavına girdim boş kağıt verdim. Beyler beni bu dersten geçirmeniz lazım


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

quote:

Orijinalden alıntı: garui



teşekkürler


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

quote:

Orijinalden alıntı: mertov

quote:

Orijinalden alıntı: garui



teşekkürler

Rica ederim. Ekleme yapiim pow ile int kullanimi duruma gore degisebiliyor. C compiler izin verirken C++ compiler izin vermiyebiliyor.

Alttaki kod c ile sorun cikartmazken c++ ile sorun verdi.
 
#include<stdio.h>
#include<math.h>
int main (void)
{
int x=5,y=6;

printf("x üzeri y = %d\n",(int)pow(x,y));
printf("x üzeri y = %g\n",pow(x,y));
printf("x üzeri y = %e\n",pow(x,y));
return(0);
}


alttaki kod ikisinden de gecti

 
#include<stdio.h>
#include<math.h>
int main (void)
{
float x=5,y=6;

printf("x üzeri y = %d\n",(int)pow(x,y));
printf("x üzeri y = %g\n",pow(x,y));
printf("x üzeri y = %e\n",pow(x,y));
return(0);
}


Bu mesaja 1 cevap geldi.