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

Πρόβλημα σε C


thanos713

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

Δημοσ.

Καλησπέρα, διοργανώνεται κάθε χρόνο ένας διαγωνισμός πληροφορικής και του χρόνου θέλω να λάβω μέρος. Βρήκα ένα site για προετοιμασία, έλυσα το πρώτο πρόβλημα αλλά το δεύτερο δεν μπορώ να καταλάβω τι εννοεί σε κάποιο σημείο, εγώ έχω καταλάβει αυτό.

>#include <stdio.h>

int main(void)
{
   FILE *in;
   in = fopen("tickets.in", "r");
   FILE *out;
   out = fopen("tickets.out", "w");
   
   int N, A,B,G,D,tis,fragka,telos;
   
   do
{
   
   fscanf(in, "%d", &N);
   fscanf(in, "\n");
   fscanf(in, "%d", &A);
   fscanf(in, " ");
   fscanf(in, "%d", &;
   fscanf(in, " ");
   fscanf(in, "%d", &G);
   fscanf(in, " ");
   fscanf(in, "%d", &D);
   
   if (N >= A && N <= 
   {
         tis = 10;
   }
   else if (N >= B && N <= G)
   {
        tis = 20;
   }
   else if (N >= G && N <= D)
   {
        tis = 30;
   }
   else if (N >= D)
   {
        tis = 50;
   }
   
   fragka = prakseis(tis,N);    
   fprintf(out, "%d\n", fragka);
   telos = feof(in);
   
} while (telos == 0);
   
   fclose(in);
   fclose(out);
   return 0;
}

int prakseis(int tisekato, int mathites)
{
   int apot,apot2,poso;
   apot = 10 * tisekato / 100; 
   poso = 10 - apot;  
   apot2 = poso * mathites;    
   return apot2;
}

 

Εδώ είναι η άσκηση.

 

Το σχολείο σου ετοιμάζει μια εκδρομή για τους μαθητές στο ενυδρείο και εσύ ανέλαβες να πάρεις τηλέφωνο και να ρωτήσεις για την έκπτωση που θα έχετε μιας και θα πάνε τόσα πολλά άτομα. Ο διευθυντής του σχολείου σε έχει πληροφορήσει ότι Ν άτομα έχουν δηλώσει συμμετοχή. Ο υπεύθυνος του ενυδρείου σου είπε ότι αν πάνε πάνω από Α άτομα θα έχετε 10% έκπτωση, αν πάνε πάνω από Β 20%, πάνω από Γ 30% και πάνω από Δ 50%. Η τιμή του κανονικού εισιτηρίου είναι 10 ευρώ.

 

Μπορείς να βρεις ποιο είναι το ελάχιστο συνολικό ποσό που πρέπει να πληρώσει το σχολείο έτσι ώστε να μπορέσουν να πάνε όλοι οι Ν μαθητές στο ενυδρείο. Προσοχή, σε ορισμένες περιπτώσεις μπορεί να συμφέρει να αγοραστούν περισσότερα εισιτήρια ώστε να έχετε καλύτερο πακέτο προσφοράς.

 

Δεδομένα Εισόδου (tickets.in)

 

Η πρώτη γραμμή θα περιέχει έναν ακέραιο Ν. Η δεύτερη γραμμή θα περιέχει τους 4 ακεραίους Α, Β, Γ και Δ.

 

Δεδομένα Εξόδου (tickets.out)

 

Ένας ακέραιος, η ελάχιστη συνολική τιμή.

 

Παράδειγμα εισόδου (αρχείο "tickets.in")

 

30

10 20 50 100

Παράδειγμα εξόδου (αρχείο "tickets.out")

 

240

Παράδειγμα εισόδου 2 (αρχείο "tickets.in")

 

95

10 20 50 100

Παράδειγμα εξόδου 2 (αρχείο "tickets.out")

 

500

 

Μπορεί να μου εξηγήσει κάποιος γιατί στο δεύτερο παράδειγμα το δικό μου βγάζει λάθος αποτέλεσμα? ΔΕΝ θέλω κώδικα, θέλω να μου εξηγήσετε τι κάνω λάθος...

 

Ευχαριστώ.

 

---------- Προσθήκη στις 20:02 ---------- Προηγούμενο μήνυμα στις 20:00 ----------

 

Άμα γίνεται να το βάλει κάποιος στο προγραμματισμό, λάθος μου, συγγνώμη.

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

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

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