naiv_dim Δημοσ. 4 Ιανουαρίου 2013 Δημοσ. 4 Ιανουαρίου 2013 Καλημέρα, Θα ήθελα την βοήθεια από κάποιον που γνωρίζει. Θα ήθελα να φτιάξω αλλά δεν γνωρίζω καθόλου το πώς, ένα script/program όπου θα μου υπολογίζει το ακόλουθω θέμα: Αριθμοί: 1 έως 45, ο κάθε αριθμός έχει ένα ID. ΠΧ. 1=182, 2=174, 3=150, 4=172, 5=172 .... 45=210 Εγώ θέλω το script/program να κάνει την εξής δουλειά: y = (X1+X2+X3+X4+X5) / 5 Δίνοντας του σαν δεδομένο το y κάθε φορά, να παίρνει τυχαία τους 5 αριθμούς από το 1 έως το 45 και βάση το ID τους να υπολογίζει και να ταιριάζει(αν όχι, + - 0,2 απόκλιση) το αντίστοιχο y όπου έχω δώσει.
nilosgr Δημοσ. 4 Ιανουαρίου 2013 Δημοσ. 4 Ιανουαρίου 2013 Λοιπόν, για να καταλάβω. Αρχικά δίνεις 45 αριθμούς. Μετά δίνεις ακόμη έναν, έστω Υ. Και θες το πρόγραμμα να διαλέγει 5 από τους 45 που έδωσες στη αρχή, οι οποίο θα έχουν μέσο όρο ~45 ;; Διευκρίνιση, οι 45 θα είναι πάντα θετικοί; Θα είναι ταξινομημένοι; Θα είναι πάντα ακέραιοι; Σε ποια γλώσσα το θες;
naiv_dim Δημοσ. 5 Ιανουαρίου 2013 Μέλος Δημοσ. 5 Ιανουαρίου 2013 Καλημέρα, - Υπάρχει το 1 έως το 45. - Για το 1 έως το 45, αντιστοιχούμε ένα αριθμητικό χαρακτηριστικό στον κάθε αριθμό(έστω Χν). ΠΧ. 1=182, 2=174, 3=150, 4=172, 5=172 .... 45=210 - Οι αριθμοί είναι πάντα ακέραιοι & θετικοί. - Δίνω σαν δεδομένο τον μέσο όρο Υ, Το πρόγραμμα θα ήθελα να διαλέγει τους κατάλληλους 5 από τους 45 και να υπολογίζει τον μέσο όρο με βάση τα αντίστοιχα Χν - Να μου εμφανίζει αποτέλεσμα ποιους από τους 5 αριθμούς από το 1 έως το 45 διάλεξε, σε αύξουσα. - Αν υπάρχουν πολλαπλά αποτελέσματα να τα εμφανίζει σε επόμενη γραμμή. Επείδη με τον προγραμματισμό δεν το έχω, αν μπορούσες τον κώδικα να τον έκανες executable και να μου τον έστελνες σε κανα μαιλ δεν θα έλεγα όχι. Τώρα η επόμενη επιλογή είναι η γλώσσα όπου εσύ θα το έφτιαχνες πιο γρήγορα.
pmav99 Δημοσ. 5 Ιανουαρίου 2013 Δημοσ. 5 Ιανουαρίου 2013 Το πρόγραμμα θα ήθελα να διαλέγει τους κατάλληλους 5 από τους 45 καταλληλους για πιο πραγμα? Ετσι οπως το γραφεις δεν βγαζει νοημα. Που το χρειαζεσαι αυτο το script? Ειναι ασκηση? Για δουλεια?
naiv_dim Δημοσ. 5 Ιανουαρίου 2013 Μέλος Δημοσ. 5 Ιανουαρίου 2013 Το πρόγραμμα θα ήθελα να διαλέγει τους κατάλληλους 5 από τους 45 και να υπολογίζει τον μέσο όρο με βάση τα αντίστοιχα Χν Μια χαρά νόημα βγάζει η πρόταση. Επαναλαμβάνω το θέμα μου: έχουμε τους αριθμούς 1, 2, 3, 4 ... έως 45. Στο 1 έχουμε δώσει ένα χαρακτηριστικό αριθμό πχ: το 182 X1 Στο 2 έχουμε δώσει ένα χαρακτηριστικό αριθμό πχ: το 174 X2 Στο 3 έχουμε δώσει ένα χαρακτηριστικό αριθμό πχ: το 150 X3 Στο 4 έχουμε δώσει ένα χαρακτηριστικό αριθμό πχ: το 172 X4 Στο 5 έχουμε δώσει ένα χαρακτηριστικό αριθμό πχ: το 172 X5 . . . μέχρι να φτάσουμε στο 45 οπου του δίνω το χαρακτηριστικό αριθμό πχ.210 X45 Επίσης, δίνω σαν δεδομένο τον μέσο όρο πχ. y = 177,6 Το script/program θα ήθελα να ανατρέξει στους αριθμούς 1, 2, 3, 4 ... έως 45, να διαλέξει το χαρακτηριστικό αριθμό που χρειάζεται ώστε να επαληθεύει την μαθηματική πράξη y = (Xν+Xν+Xν+Xν+Xν) / 5 σαν παράδειγμα με τους τυχαίους αριθμούς που έδωσα παραπάνω θέλω να υπολογίσω: 177,6 = (Xν+Xν+Xν+Xν+Xν) / 5 Ποιούς αριθμούς πρέπει να επιλέξω?? Το script/program τρέχει διαβάζει ποιοί χαρακτηριστικοί αριθμοί το επαληθεύουν Βρίσκει ότι : 177,6 = (X1+X2+X3+X4+X45) / 5 177,6 = (182+174+150+172+210) / 5 177,6 = 888 / 5 Άρα οι αριθμοί που επαληθεύουν το ζητούμενο μου είναι οι 1 - 2 - 3 - 4 - 45 Επίσης όμως με ικανοποιεί και η παρακάτω 177,6 = (X1+X2+X3+X5+X45) / 5 οπότε σε δεύτερη γραμμή να μου εμφανίζει και το 2ρο αποτέλεσμα 1-2-3-5-45 Αν υπάρχει και 3η, 4η κοκ κοκ Ελπίζω να έγινα κατανοητός τώρα.
nilosgr Δημοσ. 5 Ιανουαρίου 2013 Δημοσ. 5 Ιανουαρίου 2013 Έχω καταλάβει τι θες. Δεν σου εγγυώμαι κάτι, έχω βάλει bookmark στη σελίδα, κάποια στιγμή θα ασχοληθώ ;-)
bird Δημοσ. 5 Ιανουαρίου 2013 Δημοσ. 5 Ιανουαρίου 2013 Ένα προγραμματάκι σε C που παίρνει τα δεδομένα όλα από τον χρήστη (x, y, απόκλιση) και τυπώνει όλους τους αριθμούς που ικανοποιούν τη σχέση... #include <stdio.h> #define NON 45 /* # of random numbers */ /* function to skip to newline */ void skip_line( FILE * fp ) { int c; while ( (c=getc(fp))!= '\n' && c != EOF ); } int main() { int x[NON] = {}; /* Variable array */ double y = 0; /* Given average */ double avrg = 0; /* Temporary average */ double dev = 0.; /* Deviation */ int i,j,k,l,m; /* Loop variables */ /* Loop for reading random numbers */ /* No check perfrormed for negative numbers */ for ( i = 0; i < NON; i++) { printf("Give %2d%s number: ",i+1,(i==0?"st":(i==1?"nd":"th"))); scanf("%d",&x[i]); skip_line(stdin); } /* Reads average */ printf("\n\nGive average: "); scanf("%lf",&y); skip_line(stdin); /* Reads deviation */ printf("\n\nGive deviation: "); scanf("%lf",&dev); skip_line(stdin); /* Prints header */ printf("\n\n RESULTS (X1-X2-X3-X4-X5, AVRG)\n"); /* Loop over all the x to compute average */ for ( i =0; i < NON-4; i++ ) for (j = i+1; j < NON-3; j++ ) for ( k = j+1; k < NON-2; k++ ) for ( l = k+1; l < NON-1; l++ ) for ( m =l+1; m < NON; m++ ) { avrg = (x[i]+x[j]+x[k]+x[l]+x[m])/5.; /* if average detween deviation prints results */ if ( avrg >= y-dev && avrg <= y+dev ) { printf("%2d-%2d-%2d-%2d-%2d , avrg= %.2lf\n",\ i+1,j+1,k+1,l+1,m+1,avrg); } } return 0; } Δεν εχει ελέγχους μέσα και επειδη το εγραψα λιγο γρήγορα μπορεί να βρείτε τιποτα ψιλολαθάκια αλλά νομίζω δουλεύει σωστά... 2
albNik Δημοσ. 5 Ιανουαρίου 2013 Δημοσ. 5 Ιανουαρίου 2013 Έχεις 45 αριθμούς και θες να βρεις πόσες πεντάδες έχουν άθροισμα 5*y ? Δες και αυτή την απάντηση http://www.adslgr.com/forum/threads/638914-%CE%92%CE%BF%CE%B7%CE%B8%CE%B5%CE%B9%CE%B1-%CE%B3%CE%B9%CE%B1-%CE%BA%CE%B1%CF%84%CE%B1%CF%83%CE%BA%CE%B5%CF%85%CE%B7-%CF%80%CF%81%CE%BF%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1%CF%84%CE%BF%CF%82!!?p=4740142#post4740142
Technology fan Δημοσ. 5 Ιανουαρίου 2013 Δημοσ. 5 Ιανουαρίου 2013 A.k.a. subset sum problem (με περιορισμό στο μέγεθος του subset)
naiv_dim Δημοσ. 5 Ιανουαρίου 2013 Μέλος Δημοσ. 5 Ιανουαρίου 2013 Έχεις 45 αριθμούς και θες να βρεις πόσες πεντάδες έχουν άθροισμα 5*y ? Δες και αυτή την απάντηση http://www.adslgr.com/forum/threads/638914-Îοηθεια-για-καÏαÏκεÏη-ÏÏογÏαμμαÏοÏ!!?p=4740142#post4740142 Ευχαριστώ για το λινκ, αλλά δεν είναι αυτό που ζητάω ακριβώς. Θα ψάξω να κατεβάσω την C και θα τρέξω τον κώδικα που έστειλε ο bird @nilosgr όποτε μπορέσεις Σας ευχαριστώ όλους παίδες.
naiv_dim Δημοσ. 6 Ιανουαρίου 2013 Μέλος Δημοσ. 6 Ιανουαρίου 2013 Kαλημέρα, ο κώδικας που ήθελα είναι αυτός που έχει γράψει ο bird. Απλά το μόνο που πρέπει να γίνει τώρα είναι όταν τελειώνει με τα αποτελέσματα να μην κλείνει αυτόματα το πρόγραμμα
Stavros_Ribo Δημοσ. 6 Ιανουαρίου 2013 Δημοσ. 6 Ιανουαρίου 2013 Το τρέχεις σε DEV C++ στα windows τον κώδικα; Ο κώδικας δεν έχει πρόβλημα, πριν το return 0; βάλε ενα scanf κάποιου π.χ. ακεραίου ή καλύτερα κάνοντας #include<stdlib.h> στην αρχή του προγράμματος γράψε πριν το return 0; system("pause");
naiv_dim Δημοσ. 6 Ιανουαρίου 2013 Μέλος Δημοσ. 6 Ιανουαρίου 2013 Ναί με DEV C++ Πρόσθεσα την getchar(); πρίν το return 0 όπως μου ειπε ο bird και έγινε αυτό που ήθελα. Σας ευχαριστώ όλους.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα