merhaba arkadaslar 2 tane c problemi

eolos
16-07-2007, 12:48   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
2,036 mesaj
Kayıt Tarihi:Kayıt: May 2006

1- arkadaslar c ile paskal ucgeni programını nasıl yazabilirim kullanıcıdan  n sayısını girmesini isteyeceğim ve program n tane basamak yapacak örneğin
kullanıcı 4 girdiprogram söle olacak
          1
       1     1
     1    2    1
   1    3    3   1


2- arkadaslar 2 . program birinciye gore daha kolay  burda userden dogum tarihini gün ay yıl olarak girmesini istiyeceğiz daha sonra ne kadar yasadıgını bulacagız

(arkadaslar programı tam yazarsanız sevinirim)
simdiden tesekkur ederim

sakin_insan
16-07-2007, 13:20   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
508 mesaj
Kayıt Tarihi:Kayıt: Oca 2007

(eğer c programlama dilini öğreniyorsan)!programı yazmaya kendin uğraşsan daha fazla yol katedersin programlama dili öğrenmekte...

şimdi biz buraya yazarız cevabı eğer bu bi ödevse hazırcılık olur. bence uğraşıp yapamadığın bölümde yardım istemelisin.

eolos
16-07-2007, 13:24   |  #3  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
2,036 mesaj
Kayıt Tarihi:Kayıt: May 2006

hayır arkadasım odev değil kendim ugrastım baya ama bi sonuç bulamadım öyle kafama takılan bir problem

sakin_insan
16-07-2007, 13:34   |  #4  
Yıllanmış Üye
Teşekkür Sayısı: 0
508 mesaj
Kayıt Tarihi:Kayıt: Oca 2007

//pascal ügeni
#include<stdio.h>
#include<math.h>
int fakt(int);
void main()
{
        int x,k,y,girilen,sonuc;
        clrscr();
        printf("lütfen bir sayı giriniz:");
        scanf("%d",&girilen);
        for(x=0;x<girilen;x++){
         for(k=0;k<girilen-x;k++){
          printf(" ");}
         for(y=0;y<=x;y++){
          sonuc=fakt(x)/(fakt(x-y)*fakt(y));
          printf("%d ",sonuc);
          }
         printf("\n"); }
         getch();
          }
        int fakt(int sayi){
        int i,sonuc=1,a=1;
        if(sayi==0 || sayi==1) {
                return a; }
        else {
                for(i=sayi;i>1;i--){
                sonuc=sonuc*i;}
                return sonuc;}
}


turbo c de derlenmiştir.

genesis
17-07-2007, 10:28   |  #5  
Yeni Üye
Teşekkür Sayısı: 0
36 mesaj
Kayıt Tarihi:Kayıt: Ağu 2006

doğum tarihini ya rakam olarak alacaksın ya da bir char dizisine alacaksın. bunu yaparken şöle de yapabilirsin.
fgets(dizi,kaç tane okuyacak,stdin); sonra o char dizilerini atoi fonksiyonuyla fln int e çevirirsin. ama 2. yolda uğraşmak gerecek biraz daha fazla. direk olarak sen scanfle alırsın.çıkarma işlemlerini yaparsın sonra neyle çarpman gerekiyosa ona çarparsın...
yılx365 fln... sonra yılın mod 4 ünü alırsın.. kaç tane çıkıyosa o kadar gün eklersin.ay ve gün normal zaten.
kod yazmak yerine fikir vermek daha ii olur diye düşündüm...

ersin334
19-07-2007, 11:09   |  #6  
Taze Üye
Teşekkür Sayısı: 0
9 mesaj
Kayıt Tarihi:Kayıt: Eki 2005

yas probleminde formatı gg.aa.yy olaraka belirleresen okuturkende 3 farklı haneye şöyle alabilirsin. %d%c%d%c%d . ""%c"" ler  "." ları yutması için dummy olarak tanımlandı.(başka problemlerde de dummyler çok işe yarar) eğer istediğin basit bir programsa şubat durumunu hesaba katma ayı 30 kabul et.bu gunun tarihini de define et ve cıkarma işlemini yaptır.aslında yılın moduna gore 1 ekleyıp subat durumunuda halledebilirsin. ayı ve yılı ona gore update edersin

nsa
10-11-2007, 13:48   |  #7  
Taze Üye
Teşekkür Sayısı: 0
4 mesaj
Kayıt Tarihi:Kayıt: Kas 2007

sakin_insan o program hata veriyo yalnız mantık doru güzelmiş teşekkürler...hatası int döndürmesi gerek fonksiyonun.

sakin_insan
10-11-2007, 14:14   |  #8  
Yıllanmış Üye
Teşekkür Sayısı: 0
508 mesaj
Kayıt Tarihi:Kayıt: Oca 2007
nsa
sakin_insan o program hata veriyo yalnız mantık doru güzelmiş teşekkürler...hatası int döndürmesi gerek fonksiyonun.
o program turbo c de yazıldı./turbo c de çalışıyordu.
hangi derleyiciyi kullanıyorsanı, bazı bölümleri düzeltmelisiniz,

mesela dev c++ kullanıyorsanız programınıza void main() ile başlayamazsınız hata verir.