@nn@
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
@nn@
Νεοφερμένος
else
{
if(MaxProductSum(Array,Dim,sum,product)==1)
return 1
else
return -1
}
μπόρεις να το εξηγήσεις λίγο;
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
@nn@
Νεοφερμένος
Αντέγραψα ακρίβως τον κώδικα και βγάζει παλι ασχετο αριθμό .......Συγνώμη δεν είδα οτι μιλάς για C επειδή το θέμα είναι για C++..Kοίτα αυτό:
Code:#include<stdio.h> #include<stdlib.h> int MaxProductSum(float *Array,int Dim,float sum,float product) { sum+=Array[--Dim];//1η επανάληψη sum=3,2η επανάληψη sum=5 3η επανάληψη sum=6// product*=Array[Dim];//1η επανάληψη product=3 2η και 3η επανάληψη product=6// if(Dim==0)//1η και 2η επανάληψη ψευδής,3η επανάληψη αληθής// { if(sum<product)//6==6 είναι ίσα και επιστρέφει 1// return(-1); else return(1); } else MaxProductSum(Array,Dim,sum,product); } int main(void) { float a[]={1,2,3}; printf("%d",MaxProductSum(a,3,0,1)); return 0; }
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
@nn@
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
@nn@
Νεοφερμένος
μηνυμα λάθους : iostream: No such file or directory.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
@nn@
Νεοφερμένος
" sum+=Array[--Dim]; "
είναι που μειώνει το Dim κάθε φορά που καλούμε την συνάρτηση αναδρομικά και απο το debugg που έκανα αυτό φαίνεται καθαρά και στο τέλος μπαίνει στο return η 1 return -1.
Kαι ο δίκος σου και ο δικός μου κωδικάς κανουν return τον ίδιο αριθμό κάθε φόρα.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
@nn@
Νεοφερμένος
{
sum+=Array[--Dim];
product*=Array[Dim];
if(Dim==0)
{
if(sum<product)
return(-1);
else
return(1);
}
else
MaxProductSum(Array,Dim,sum,product);
}
γενικά επιτελεί την λειτουργία αλλά όταν την καλώ δεν επιστρέφει 1 η -1
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
@nn@
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.