İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. SDN Programlama Kafe
SDN Programlama Kafe

SDN Programlama Kafe

N3CAT111.06.2010343 cevap86.853 görüntüleme Sabit
2011'den beri597 mesaj
#151
N3CAT1 dedi: ↑
Hoşgeldiniz :) Programlama candır yahu :)
hoş bulduk, öyle ya gerçekten, bu mutluluğu paylaşmak gerçekten çok güzel, aynı dili konuşmak çok huzur verici. :D
Cevaplar
2011'den beri108 mesaj
#152
<html>
<title>SDN Ailesi</title>
<body bgcolor="black">
<center>
<font color="red" size="+5">
Hepiniz Bitanesiniz
</font>
</center>
</body>
</html>
2009'den beri4.659 mesaj
#153
arkadaşlar bi program için uğraşıyorum

program sonucunda şu işlemin sonucunu almam gerek



burdaki - ile + arasındaki terim oluyor. Bu sonsuz döngü ise şu şekilde sonlanacak ve sonucu bize bildirecek
abs(sonterim)<0.0001 olduğunda döngü sonlanacak ve sonucu bildirecek.

program c dilinde yazılacak. yazılırken for, if, while, do-while komutları kullanılabilecek.

bende kendi yazdığım programı koyuyumda yanlışlarımı eksiklerimi söyleyin. aslında ben denedim çalışıyor ama + - olmuyor sürekli
#include <stdio.h>int main(void)
{
double x;
double toplam,pay,payda,terim=0.0;
int k;
    printf("\nx degerini giriniz: ");
    scanf("%lf", &x);
    toplam=1.0;
    pay=(x*x);
    payda=1*2;
    for(k=3;abs(terim)<=0.0001;k=k+2)
    {
             terim=pay/payda;
             toplam+=terim;
             pay*=(x*x);
             payda*=(k*(k+1));
    }
    printf("Seri: %.4f\n\n",toplam);            
            
system("PAUSE");
return 0;
}




programcılığa yeni adım atmış olan arkadaşınızdan yardımlarınız esirgemeyin lütfen :)
2009'den beri4.659 mesaj
#154
yokmu bi yardım edecek :(
2007'den beri2.663 mesaj
#155
+ ve - olması için araya bi if attırman lazım :D
2007'den beri29 bin mesaj
#156
cobra11

başkasının algoritmasının üzerinden gidemiyorum :D baştan ben böyle yaptım, mantığını anlamazsan yardımcı olurum
#include<stdio.h>
double fakto(double f) // faktoriyel fonksiyonu
{
   double carpim=1,deger;
   for(deger=f; deger>1; deger--)
   {
      carpim*=deger;
   }
   return carpim;
}
main()
{
   double x;
   
   printf("X değeri:");
   scanf("%lf", &x);

   double k,toplam=1,pay=x*x,payda=fakto(2),carpan=-1;

   for(k=4;(pay/payda)>0.0001;k+=2)
   {
      printf("%lf değeriyle döngüye giriliyor\n", pay/payda); // hangi pay/payda değeriyle dönyüye girildiğini görelim (0.0001'den büyük değer çıkacak hep)
      toplam+=carpan*(pay/payda);
      pay*=x*x;
      payda=fakto(k);
      carpan*=-1; // bir artı bir eksi olan yer burası
   }

   printf("Toplam: %lf\n", toplam);
   
}
2009'den beri4.659 mesaj
#157
__kadıköyRAP__

işlem sonucu yanlış veriyor. resimde seriyi yazarken yazmamışımda o ser cos(x) değerini veriyor

cos60 yazıyorum çok saçma bi rakam çıkıyor.
2007'den beri29 bin mesaj
#158
cobra11 nerden sardırdın şunu başıma :D dizi izliyordum yarıda kestim neyse devam edeyim diziye, sonra bakarım buna, 3 ve 4 değerlerini ver kendin bak istersen mesela 3 için google'ın verdiği sonuç;

1 - (3^2/2!) + (3^4/4!) - (3^6/6!) + (3^8/8!) - (3^10/10!) + (3^12/12!)

Benim algoritma da aynı sonucu veriyor. Hata göremiyorum algoritmada ama dediğin gibi cos değerini de vermiyor. Neden 12'de kestin dersen çünkü 3^14/14! 0.0001'den küçük.
2009'den beri4.659 mesaj
#159
yok yaptığın değer doğru zaten ona bişey demiyorum ama, ifade cos(x) değerini verecekmiş. x değerini bizden alacak mesela 60 girdik cos(60)=0.5 değerini bize vermesi gerek.

soruyu ödev veren doçent saolsun bizi pc başına hapsetti :) ama bi türlü cos değerlerini sağlamıyor. ne türlü fantaziler denedim cos(x) e tahmin bile edemezsiniz :) ama olmuyor işte :)
2007'den beri29 bin mesaj
#160
cobra11 dedi: ↑
yok yaptığın değer doğru zaten ona bişey demiyorum ama, ifade cos(x) değerini verecekmiş. x değerini bizden alacak mesela 60 girdik cos(60)=0.5 değerini bize vermesi gerek.

soruyu ödev veren doçent saolsun bizi pc başına hapsetti :) ama bi türlü cos değerlerini sağlamıyor. ne türlü fantaziler denedim cos(x) e tahmin bile edemezsiniz :) ama olmuyor işte :)
Olay şuymuş, radyan olarak hesaplıyor bu meret :)

Ancak düzgün sonuçları 32'ye kadar verebiliyor bende ancak, sanırım hesaplama kapasitesi yetmiyor 32'den sonra saçmalıyor.

Aç bilimsel hesap makinesini 32'ye kadar hesaplat cosinüslerini radyan cinsinden, tuttuğunu göreceksin.

--- Mesaj Güncellendi ---

Dereceyi girdikten sonra radyan'a dönüştürmek lazım.

PI sayısını tanımlamamız lazım ister en üste #include<stdio.h> altına yazarsın #define PI 3.141592654 diye ya da bunu görmediyseniz double PI = 3.141592654 diye tanımlarsın. scanf ile x i aldıktan sonra x = x * (PI/180) formülü ile radyana dönüştürürsün oldu bitti.
#include<stdio.h>
#define PI 3.141592654
double fakto(double f)
{
   double carpim=1,deger;
   for(deger=f; deger>1; deger--)
   {
      carpim*=deger;
   }
   return carpim;
}
main()
{
   double x;
   
   printf("X değeri:");
   scanf("%lf", &x);

   x = x * (PI/180);

   double k,toplam=1,pay=x*x,payda=fakto(2),carpan=-1;

   for(k=4;(pay/payda)>0.0000001;k+=2) // 0.0001 yerine 0.0000001 yaptım hassasiyeti arttırdım, daha doğru sonuçlar veriyor
   {
      //printf("%lf/%lf = %lf değeriyle döngüye giriliyor\n", pay, payda, pay/payda); // bu satıra gerek yok artık
      toplam+=carpan*(pay/payda);
      pay*=x*x;
      payda=fakto(k);
      carpan*=-1; // bir artı bir eksi olan yer burası
   }

   printf("Toplam: %lf\n", toplam);
   
}


Şimdi hesapla bakalım cos(60) :)
2009'den beri4.659 mesaj
#161
programın çalışıyor eline sağlık. define komutunu gördük kolay bişey zaten ama

ordaki ortadaki main() komutunu görmedik. main i tek kullandığımız yer en başta int main (void) şeklinde oldu. Mantığını az çok anlar gibi oldum ama o main() olayında kopuyorum
2007'den beri29 bin mesaj
#162
int main (void) de sen aynı şey, standart prosedür de geç :D
2011'den beri130 mesaj
#163
__kadıköyRAP__ dedi: ↑
int main (void) de sen aynı şey, standart prosedür de geç :D
aynen __kadıköyRAP__ kardeşime katılıyorum.. aynen ben de öyle düşünmüştüm :D
2011'den beri597 mesaj
#164
__kadıköyRAP__ dedi: ↑
int main (void) de sen aynı şey, standart prosedür de geç :D
Fenasın... :D

neyse sen dizideyken biz anlatırız arkadaşa onun ne olduğunu sorun değil...

int main (void)
int main (int argc,char** argv)
int main ()

bak şimdi
ilk blok "int" bunun yani bu main adlı fonksiyonun bir int değer döndürdüğüne delalet etmektedir.
main bir fonksiyon ve bu fonksiyonu özel kılan tek şey adı değil...
her C++ (ve C) programınde önce main fonksiyonu çalıştırılır, yani ana fonksiyondur.

yazdığın fonksiyonlara ve sınıflara çağrıyı burdan yaparsın.

3 blok ise parantez içleri yani, fonksiyonun alıcağı argümanları belirler.
içi boş parantezler "()" ve içinde void yazan parantezler "(void)" aynı şeye işaret ediyor, fonksyonun argüman almadığına.

fakat abilerimiz demişlerki ya bu main fonksiyonu argüman da alsın, hani işletim sisteminden gelen şu parametreler varya "C:\hede hödö" -iki tiki tak tuk
gibi...
işte bu parametrelerin işlenmesi için iki argümanı yeterli görmüş bu "abiler", ilk argüman tahmin ettiğin gbi bir int ve main fonksiyonuna gönderilen parametrelerin sayısını vermekte, 2. argüman ise parametrelerin tutulduğu bir karakter katarı dizisi.
parametreler bu dizide tutuluyor işte.

rahatlıkla parametre kabul eden ve bu parametreyi işleyip ona göre davranan program yazabilirsin.

elbet hatalarım vardır, bende çok eski sayılmam programcılıkta, hafif sulu bir beyin, kendinde olmayan bi orta kulak ve bi çok tuşu kendinden geçmiş bir klavye ile yardımcı olmaya çalıştım, umarım açıklayabilmişimdir, hatalarımı burdaki abilerimiz düzeltsinler, sende aramıza hoş geldin bu arada. :D
2011'den beri133 mesaj
#165
<?php echo "slm nbr kib bye"; ?>
2007'den beri29 bin mesaj
#166
LeaveNhA dedi: ↑
Fenasın... :D

neyse sen dizideyken biz anlatırız arkadaşa onun ne olduğunu sorun değil...
ohoo ben kaç gün önce demiştim dizi izliyorum diye yaw :D ama demin de izliyordum denk getirmişsin :D
2009'den beri4.659 mesaj
#167
teşekkürler arkadaşlar. bu ödevi hocaya verdiğimiz gün hoca bu konuları anlattı :)
2011'den beri597 mesaj
#168
__kadıköyRAP__ dedi: ↑
ohoo ben kaç gün önce demiştim dizi izliyorum diye yaw :D ama demin de izliyordum denk getirmişsin :D
denk gelmiş işte bak, zamanlamam iyidir. :D

öyle denk geldimi pasla bana, sen geç diziye, ben anlatırım. :D
2007'den beri29 bin mesaj
#169
peki baktım bilmediğim konu var çaktırmadan paslarım :D
2011'den beri597 mesaj
#170
__kadıköyRAP__ dedi: ↑
peki baktım bilmediğim konu var çaktırmadan paslarım :D
estafurullah, sen konu ayırmadan pasla işte, amaç genç nesle yön vermek. :D

"burda ki genç tabiri C++ daki düzeyimden kaynaklanıyor tabi" :D

konunun ehli kaç kişi var bilmiyorum ama php ile aram iyi, tamamen php'ye yoğunlaşsam iş olanaklarım neler olur, freelance projeler vs ?
bilgisi olan abilerimiz ablalarımız bi aydınlatabilirmi acaba ?
2009'den beri4.659 mesaj
#171
arkadaşlar şu koddaki yalnışlık nerde bi yardım edin.

bu işlemin sonucu verecek.

kod derleniyor ama sonuç hatalı çıkıyor.
#include <stdio.h>
#include <math.h>
float seri(float x, int n);
int main(void)
{
    float x;
    int n;
printf("x ve n degerlerini giriniz: ");
scanf("%f%d",&x,&n);
printf("sonuc %f", seri(x,n));
getch();    
return 0;
}


float seri(float x, int n)
{
    float terim,sonuc;
    int z=2,y;
    
    for(y=1;y<=(2*n-1);y=y+2);
     {
       terim=y/pow(x,z);
       sonuc=sonuc+terim;
       z=z+2;
     }
     return(sonuc);
}


2007'den beri29 bin mesaj
#172
float seri(float x, int n) fonksiyonunu iki kere tanımlamışsın, baştaki boş olanı sil
2009'den beri4.659 mesaj
#173
baştaki float seri(float x, int n) fonksiyonunu silince alttakinde hata veriyor. ben üsttekinde fonksiyon tanımlamadım prototip girdim zaten sonunda ; var yani işlemi ordan bitirdim. float seri(float x, int n) şeklinde bi işlem gelecek haberin olsun şeklinde bi işlemdi baştaki
2007'den beri29 bin mesaj
#174
float seri fonksiyonunu main fonksiyonun üstüne yazmayı dene sen yine de

--- Mesaj Güncellendi ---

şu yani
#include <stdio.h>
#include <math.h>
float seri(float x, int n)
{
    float terim,sonuc;
    int z=2,y;
    
    for(y=1;y<=(2*n-1);y=y+2);
     {
       terim=y/pow(x,z);
       sonuc=sonuc+terim;
       z=z+2;
     }
     return(sonuc);
}
int main(void)
{
    float x;
    int n;
printf("x ve n degerlerini giriniz: ");
scanf("%f%d",&x,&n);
printf("sonuc %f", seri(x,n));
getch();    
return 0;
}


olmazsa algoritmayı bi inceleriz :)
2009'den beri4.659 mesaj
#175
denedim sonuç aynı değişmedi
2007'den beri29 bin mesaj
#176
peki syntax hatası yok o zaman bi bakayım algoritmaya
2007'den beri2.663 mesaj
#177
algoritma da hata yok gibi görünüyor seri fonksiyonu da doğru yapılmış.

edit: seri fonksiyonunu printf dışında deneyip öyle yazdırsana bakalım nolacak
2009'den beri4.659 mesaj
#178
yok gene aynı sonucu veriyor :/
2007'den beri29 bin mesaj
#179
işe önce şu for'un sonundaki noktalı virgülü kaldırarak başla

--- Mesaj Güncellendi ---

sonuc değerine de başlangıç olarak 0 ata tamamdır :)
2009'den beri4.659 mesaj
#180
__kadıköyRAP__ dedi: ↑
işe önce şu for'un sonundaki noktalı virgülü kaldırarak başla
programlamanın pis yanı işte :)

o kadarda uğraştım sildim tekrar yaptım ama ; ü herzaman koymuşum :)

teşekkür ederim __kadıköyRAP__

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.