Προς το περιεχόμενο

kati pollllliiiiii aplo


Reissistm

Προτεινόμενες αναρτήσεις

Δημοσ.

eimai kainurios ston programmatismo kai tin c,tha fanei allwste kai apo tin erwtisi mu.mexri twra kala ta pigaina me tin scanf,printf alla me ta arxeia mperdeftika.thelw na ftiaksw ena programma pu na diabazei treis times apo ena arxeio kai na tis bazei se mia sinartisi gia ton ypologismo tis.oi times aftes tha dinontai apo xristi,opote prepei na tis zitaei.pws tha ginei afto,ti eidus arxeio tha xrisimopoiisw kai pos tha ksexwrizei to prog poia timi mpainei pu stin sinartisi.me ebros tha ginei?koitaksa 2 biblia pu exw alla safi apantisi den brika.sorry an einai ilithia i erwtisi alla me erwtisies kai psaksimo tha mathw pistebw.a kai kati allo.i sinartisi exei mesa paragontiko kai sindiastiki.ta biblia mu den ta kalyptun afta ta themata.kanena tutorial na dw poia sinartisi tha xrisimopoiisw gia na ta lysw kai pws.

 

eyxaristw poly ek twn proterwn olus

Δημοσ.

Με ψιλομπέρδεψες...Το προγραμμα θα ζηταει τις τιμές από τον χρήστη ή θα τις διαβαζει από αρχείο?Αν δινονται από τον χρήστη τότε με την χρήση της scanf γινεται όπως ξέρεις ήδη.Αλλιώς με την χρήση της fopen ανοίγεις το αρχείο που θες και στη συνεχεια με τις fscanf και fprintf, διαβάζει ή γράφεις στο αρχείο αντίστοιχα.

Αυτο θα σε βοηθήσει αρκετά πιστεύω, προτείνει και άλλους πιο αποδοτικούς τρόπους πρόσβασης σε αρχεία.

Δημοσ.

i mporei o xristis na dinei tis times san arguments se command line, otan trexei to programma sou pou einai kai to pio aplo... ti ap'ola theleis?

 

gia ti sinartisi me to paragontiko, des gia recursive functions (de ksero ton elliniko oro!). otan les sindiastiki ti enoeis? (pali den ksero ton oro!)

Δημοσ.

gia to paragwgiko:

 

int factorial(int n)

{

if (n>0)

return n * factorial(n-1);

else

return 1;

}

 

gia tin sunduastiki ean ennoeis upologismous diοnιmikwn suntelestwn:

 

int binomial_coefficient(int a, int b, int c)

{

return factorial(a) / (factorial(B) * factorial(a - B));

}

 

Panw se autes tis sunartiseis, boreis na xtiseis kai tis upoloipes formules tis sunduastikis pou borei na exeis...

Δημοσ.

Νομίζω ότι το παρακάτω απλούστατο παράδειγμα προσεγγίζει τις απαιτήσεις σου στο:

1. Πως θα διαβάσω 3 αριθμητικές τιμές από ένα υπάρχον αρχείο (fopen + fscanf)

2. Πως θα περάσω σε μια συνάρτηση ως παραμέτρους αυτές τις τιμές (_PrintFunction)

3. Πως θα διαβάσω από το πληκτρολόγιο νέες τιμές (scanf)

4. Πως θα γράψω αυτές τις νέες τιμές στο αρχείο (fopen + fprintf)

 

>
// simplex FILE & STDIN I/O demo (C) DIRECTX

#include <stdio.h>
#include <io.h>

FILE  *Stream;
int   nValue_A =  0,nValue_B  =  0,nValue_C  =  0;

int   _PrintFunction(int nFirst_Valie,int nSecond_Value,int nThird_Value);

void main()
{
  // Check for DATA.DAT file presence
  if(access("DATA.DAT",0)!=-1)
   {
     // Ok, file found ~ open it for read
     if((Stream=fopen("DATA.DAT","rt"))==NULL)
      {
        printf(" Cannot open file for read - DATA.DAT\n");
        return;
      }
     // Get file data using fscanf
     fscanf(Stream,"%d%d%d",&nValue_A,&nValue_B,&nValue_C);

     // Close file!!
     fclose(Stream);

     // Show data on STDOUT (screen) ~ pass data to function
     _PrintFunction(nValue_A,nValue_B,nValue_C);
   }

  // Input new data from user..
  printf(" Enter new Value for A:"); scanf("%d",&nValue_A);
  printf(" Enter new Value for B:"); scanf("%d",&nValue_;
  printf(" Enter new Value for C:"); scanf("%d",&nValue_C);

  // Write new data on DATA.DAT file..
  if((Stream=fopen("DATA.DAT","wt"))==NULL)
   {
     printf(" Cannot open file for write - DATA.DAT\n");
     return;
   }

  // Write data using fprintf
  if(fprintf(Stream,"%d %d %d",nValue_A,nValue_B,nValue_C)==EOF)
   {
     printf(" I/O error during data write - DATA.DAT\n");
   }

  // Close file..
  fclose(Stream);
}

int   _PrintFunction(int nFirst_Value,int nSecond_Value,int nThird_Value)
{
 printf(" Value_A = %d\n Value_B = %d\n Value_C = %d\n\n",
        nFirst_Value,nSecond_Value,nThird_Value);
}

 

Καλή συνέχεια

Δημοσ.
gia to paragwgiko:

int factorial(int n)

{

if (n>0)

return n * factorial(n-1);

else

return n;

}

 

το παραγωγικό για ν=0 πρεπει εξ'ορισμού να επιστρέφει ένα και όχι 0 όπως επιστρέφει ο παραπάνω κώδικας. Για να το λύσεις αυτό μπορείς να ελέγξεις αν το ν είναι 0 πριν καλέσεις την αναδρομική συνάρτηση factorial.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...