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

Προγραμματισμος σε C: εισαγωγη τιμων πινακα απο τον χρηστη του προγραμματος


glaer

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

Δημοσ.

Ευχαριστω και παλι παιδια, αλλα μου βρισκει ακομα καποια λαθακια...θα σας δειξω ολο τον κωδικα κθως και τα λαθη που μου εντοπιζει ο Dev-C++ (2 λαθη ειναι-τα εχω σαν σχολια)για να μου πειτε που ειναι το λαθος αν μπορειτε...

 

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <float.h>

 

double factorial(int);

 

int main(int argc, char *argv[])

{

float Lij[100][100]={0};

float Mij[100][100]={0};

int Ni[100]={0};

int Rj[100]=={0};

int U,S,Cij,Sum,i,j,l;

int Coliko;

int Loliko;

float F;

double Pblocking,Pmax;

 

printf("Parakalw pliktrologhste mia timh gia to synolo twn kathgoriwn xrhstwn U:\n");

scanf("%d",&U);

 

printf("Parakalw pliktrologhste mia timh gia to synolo twn ypiresiwn S:\n");

scanf("%d",&S);

 

printf("Parakalw pliktrologhste mia timh gia tin pithanotita Pmax:\n");

scanf("%f",&Pmax);

 

for (i=0; i<U; i++)

{

printf("Parakalw pliktrologhste mia timh gia to synolo twn xrhstwn Nu se kathe kathgoria xrhstwn uEU:\n");

printf("N%d:",i);

scanf("%d",&Ni);

}

 

for (j=0; j<S; j++)

{

printf("Parakalw pliktrologhste mia timh gia to bitrate Rs(bits/second) kathe ypiresias S:\n R(1):");

printf("R%d:",j);

scanf("%d",&Rj[j]);

}

 

 

for (i=0; i<U; i++)

{

for (j=0; j<S; j++)

{

printf("Parakalw pliktrologhste mia timh gia thn timh tou rythmou afiksis L(u,s)(se 1/minute) kathe xrhsth (u) se kathe ypiresia (s):\n L(1,1):");

printf("L%d,%d:",i,j);

scanf("%f",Lij[j]);

}

}

 

for (i=0; i<U; i++)

{

for (j=0; j<S; j++)

{

printf("Parakalw pliktrologhste mia timh gia thn timh tou xronou eksypiretisis M(u,s)(minutes) kathe xristi (u) se kathe ypiresia (s):\n M(1,1):");

printf("M%d,%d:",i,j);

scanf("%f",Mij[j]);

}

}

 

 

 

 

for (j=0;j<S;j++)

{

for (i=0;i<U;i++)

{

Loliko=Ni*Lij[j];

 

F=Loliko*(1/Mij[j]);

 

Cij=0;

Sum=0;

do

{

 

Cij=Cij+1;

 

Sum=Sum+(pow(F,i)/factorial(i));

Pblocking = (pow(F,Cij)/factorial(Cij))/Sum;

 

While (Pblocking>Pmax);

 

}

Coliko=Coliko+Cij*Rj[j]; /*ΛΑΘΟΣ:syntax error before Coliko*/

}

}

 

printf("to C oliko einai: %lf",Coliko);

 

system("PAUSE");

return 0;

 

}

 

 

double factorial(int n)

{

 

double fact=1;

for (int l=1;l<=n;l++) /*ΛΑΘΟΣ:'for' loop initial declaration used outside C99 mode*/

{

fact=fact*l;

}

 

return fact;

 

}

Δημοσ.

>
...

for (j=0;j<S;j++)
{
       for (i=0;i<U;i++)
       {
           Loliko=Ni[i]*Lij[i][j];

            F=Loliko*(1/Mij[i][j]);

            Cij=0;
           Sum=0;
           do
           {

                  Cij=Cij+1;

                  Sum=Sum+(pow(F,i)/factorial(i));
                  Pblocking = (pow(F,Cij)/factorial(Cij))/Sum;
           }
           While (Pblocking>Pmax);


           Coliko=Coliko+Cij*Rj[j]; /*ΛΑΘΟΣ:syntax error before Coliko*/
     }
}
....

double factorial(int n)
{

    double fact=1;
     int l;

    for (l=1;l<=n;l++)
    {
         fact=fact*l;
    }

    return fact;

} 

 

 

Στο πρώτο λάθος έπρεπε απλα να βάλεις το "{" πριν το while.

Το δεύτερο είναι θέμα compiler και δεν δεχόταν την δήλωση του l μέσα στην for. (τουλάχιστον αυτό βρήκα στο internet, γιατί και εγώ πρωτη φορα το ειδα αυτό το error)

 

p.s.: Προσπάθησε να γράφεις πιο ευδιάκριτο κώδικα, σε βοηθάει στο debugging.

Δημοσ.

τώρα κάνει compile αλλά δεν ξέρω αν δουλεύει σωστά

 

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

double factorial(int);

int main(){
   float Lij[100][100]={0};
   float Mij[100][100]={0};
   int Ni[100]={0};
   int Rj[100]={0};
   int U,S,Cij,i,j,l;
   [color="Red"]double Sum;[/color]
   [color="Red"]float Coliko;
   float Loliko;[/color]
   float F;
   double Pblocking,Pmax;

   printf("Parakalw pliktrologhste mia timh gia to synolo twn kathgoriwn xrhstwn U:\n");
   scanf("%d",&U);

   printf("Parakalw pliktrologhste mia timh gia to synolo twn ypiresiwn S:\n");
   scanf("%d",&S);

   printf("Parakalw pliktrologhste mia timh gia tin pithanotita Pmax:\n");
   scanf("%f",&Pmax);

   for (i=0; i<U; i++){
       printf("Parakalw pliktrologhste mia timh gia to synolo twn xrhstwn Nu se kathe kathgoria xrhstwn uEU:\n");
       printf("N%d:",i);
       scanf("%d",&Ni[i]);
   }

   for (j=0; j<S; j++){
       printf("Parakalw pliktrologhste mia timh gia to bitrate Rs(bits/second) kathe ypiresias S:\n R(1):");
       printf("R%d:",j);
       scanf("%d",&Rj[j]);
   }


   for (i=0; i<U; i++){
       for (j=0; j<S; j++){
           printf("Parakalw pliktrologhste mia timh gia thn timh tou rythmou afiksis L(u,s)(se 1/minute) kathe xrhsth (u) se kathe ypiresia (s):\n L(1,1):");
           printf("L%d,%d:",i,j);
           scanf("%f",Lij[i][j]);
       }
   }

   for (i=0; i<U; i++){
       for (j=0; j<S; j++){
           printf("Parakalw pliktrologhste mia timh gia thn timh tou xronou eksypiretisis M(u,s)(minutes) kathe xristi (u) se kathe ypiresia (s):\n M(1,1):");
           printf("M%d,%d:",i,j);
           scanf("%f",Mij[i][j]);
       }
   }




   for (j=0;j<S;j++){
       for (i=0;i<U;i++){
           Loliko=Ni[i]*Lij[i][j];
           F=Loliko*(1/Mij[i][j]);
           Cij=0;
           Sum=0;
           do{
               Cij=Cij+1;
               Sum=Sum+(pow(F,i)/factorial(i));
               Pblocking = (pow(F,Cij)/factorial(Cij))/Sum;
           [color="Red"]}[/color]while (Pblocking>Pmax);

       }
       Coliko=Coliko+Cij*Rj[j]; /*ËÁÈÏÓ:syntax error before Coliko*/
   }
[color="Red"]//}[/color]

printf("to C oliko einai: %lf",Coliko);

system("PAUSE");
return 0;

}


double factorial(int n){
   double fact=1;
   for (int l=1;l<=n;l++){ /*ËÁÈÏÓ:'for' loop initial declaration used outside C99 mode*/
       fact=fact*l;
   }
return fact;
} 

 

Υ.Γ. αν η κατάληξη του αρχείου σου είναι .c κάνε την .cpp

Δημοσ.

Εβαλα το } πριν την while,αλλαξα τις μεταβλητες,αλλαξα και την καταληξη σε .cpp και δεν μου βρισκει πλεον λαθος!ευχαριστω!επιτελους μου εγινε compile... :P ασχετο το υπαρχει καποιο λαθος στον τροπο που υπολογιζει αυτο που θελω και δεν μπορω να βρω τι...

Δημοσ.
Εβαλα το } πριν την while,αλλαξα τις μεταβλητες,αλλαξα και την καταληξη σε .cpp και δεν μου βρισκει πλεον λαθος!ευχαριστω!επιτελους μου εγινε compile... :P ασχετο το υπαρχει καποιο λαθος στον τροπο που υπολογιζει αυτο που θελω και δεν μπορω να βρω τι...

 

μαθηματικά τι υπολογισμοί πρέπει να γίνουν?

δώσε και ένα αριθμητικό παράδειγμα

Δημοσ.
μαθηματικά τι υπολογισμοί πρέπει να γίνουν?

δώσε και ένα αριθμητικό παράδειγμα

 

Eυχαριστω πολυ αλλα το ελυσα τωρα!

πανω στην ωρα γιατι πρεπει να το παραδωσω αυριο :P

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

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

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