Ασκηση στη c

...IDE, compilers, κλπ

Συντονιστής: konnn

Ασκηση στη c

Δημοσίευσηαπό orfeas1601 » 06 Μαρ 2010, 16:52

λοιπόν το πρόβλημα εχει ως εξής
το ν!=παραγοντικό ισούται με π.χ
3!=3*2*1=6
4!=4*3*2*1=24

δείχνει το σύνολο των μεταθέσεων δηλ..
3!=6 σημαίνει ότι έχουμε σύνολο 6 μεταθέσεις
παράδειγμα

123
132
213
231
312
321
Πρέπει να γραφεί κώδικας που να διαβάζει το ν και να υπολογίζει τις μεταθέσεις με κάποιο τρόπο.Το αποτέλεσμα είναι αυτό που βλέπετε...
Εάν μπορεί κάποιος να βοηθήσει....
ευχαριστώ ,σας παραθέτω τον κώδικα
Κώδικας: Επιλογή όλων

#include<stdio.h>
int print(int apo, int pros);
int main ()
{
system("chcp 1253>nul");
int i,n;
printf ("****************υπολογισμός παραγοντικού******************\n");
do
{
printf ("\nΠαρακαλώ δώστε το παραγοντικό του: ");
scanf ("%d", &n);
if (n<0) printf ("Μη αποδεκτός αριθμός,παρακαλώ δώστε θετικό αριθμό\n");
}
while (n<0);
printf ("\n%d! = %d\n\n", n , anad(n)); //εκτύπωση του παραγοντικού
for(i=0;i<anad(n);i++)//
{
printf("\n");
print(1,n);//κλήση της συνάρτησης για εκτύπωση
printf("\n");
}
printf("\n\n");
system("pause");
return 0;
}
int print(int apo, int pros)//συνάρτηση για την εκτύπωση των
{ //μεταθέσεων
if (apo<=pros)
{
printf("%d ",apo);
print(apo+1,pros);
}
}
int anad (int n) //υλοποίηση του παραγοντικού n!
{
if (n==0)
return 1;//επιστρέφει 1
else
return (n*anad(n-1));//επιστρέφει το αποτέλεσμα για n!
}
orfeas1601
babeTUX
babeTUX
 
Δημοσιεύσεις: 21
Εγγραφή: 03 Ιαν 2010, 19:52
Εκτύπωση

Re: Ασκηση στη c

Δημοσίευσηαπό Nisok » 06 Μαρ 2010, 19:57

Τί είναι αυτό??? :eh:
Πού είναι το υπόλοιπο?

Ξέχασες να κάνεις c-p κάτι?
Άβαταρ μέλους
Nisok
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 2637
Εγγραφή: 25 Ιαν 2009, 15:00
Τοποθεσία: /home
IRC: nisok
Εκτύπωση

Re: Ασκηση στη c

Δημοσίευσηαπό orfeas1601 » 06 Μαρ 2010, 20:22

τι εννοείς?
orfeas1601
babeTUX
babeTUX
 
Δημοσιεύσεις: 21
Εγγραφή: 03 Ιαν 2010, 19:52
Εκτύπωση

Re: Ασκηση στη c

Δημοσίευσηαπό orfeas1601 » 06 Μαρ 2010, 20:35

Nisok έγραψε:Τί είναι αυτό??? :eh:
Πού είναι το υπόλοιπο?

Ξέχασες να κάνεις c-p κάτι?


στον compiler τρέχει κανονικά,αλλά είναι ημιτελής ο κώδικας,πρέπει να γίνουν κάποιες αλλαγές,πρέπει να κατασκευάσω έναν πίνακα όπου θα αποθηκεύονται τα ψηφία 1,2,3 (για n!=3) και από εκεί να γίνονται οι μεταθέσεις..
orfeas1601
babeTUX
babeTUX
 
Δημοσιεύσεις: 21
Εγγραφή: 03 Ιαν 2010, 19:52
Εκτύπωση

Re: Ασκηση στη c

Δημοσίευσηαπό mike_ledis » 23 Μαρ 2010, 14:12

Καλησπέρα! Ο τύπος για να σου υπολογίζει το πλήθος των μεταθέσεων του n! είναι: n*(n-1)*(n-2)...*1
Γνώσεις ⇛ Linux:Χαμηλό ┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Μέτρια
Λειτουργικό σε Η/Υ ϰ μοντέλο: Ubuntu 8.10
Προδιαγραφές ⇛ Επεξεργαστής Pentium(R) D Cpu 3.4 GHZ 3.39 GH │ Μνήμη │ 1GB Ram Κάρτα Γραφικών Ati radeon x1300 │ Κάρτα Ασύρματη │ Κάρτα Buetooth │ Κάρτα Ήχου │ Οθόνη & Ανάλυση
mike_ledis
babeTUX
babeTUX
 
Δημοσιεύσεις: 16
Εγγραφή: 21 Νοέμ 2009, 13:44
Εκτύπωση


Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού