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

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

Δημοσ.

 

     public static void trigono(int m, int n)

            

{     

for (int i = 0; i < m; i++){

System.out.print("*");

System.out.print("\n");

}

 

if (m == n-1)

{

    for (int i = 0; i < n; i++)

    {

System.out.print("*");

System.out.print("\n");

}

}

else

{

trigono(m+1, n);

}

 for (int i = 0; i < n; i++)

    {

System.out.print("*");

System.out.print("\n");

 

}

}

}

 

Αν εννοείς αυτό που γράφω παραπάνω, μου βγάζει αστεράκια το ένα κάτω από το άλλο!!!

Δημοσ. (επεξεργασμένο)

Έχεις δίκιο, ευχαριστώ... Αυτό που μου κάνει εντύπωση είναι ότι χωρίς το τελευταίο print (που είναι έξω από το if) το πρόγραμμα φτιάχνει αυτό [για (4,8)]:

 

****
*****
******
*******
********

 

άρα μαζί με το τελευταίο print θα έπρεπε να φτιάχνει αυτό:

 

****
*****
******
*******
********
*******

να φτάνει δηλαδή στο m=n-1  να τυπώνει n να τρέχει και το τελευταίο print (όταν βγαίνει από την if τελευταία φορά το m είναι 7) και μετά να κλείνει!!!

 

Πως ανατροφοδοτείται και εμφανίζει και τα υπόλοιπα???

Επεξ/σία από free4you
Δημοσ.

με αναδρομή

    public static  void printAsterisks(int no)
    {
        for(int i=0;i<no;i++) System.out.print("*");
        System.out.print("\n");
            
    }
    public static void printTrigono(int start, int end)
    {   
        printAsterisks(start);
        if (start==end) return;
        printTrigono(start+1,end);
        printAsterisks(start);
    }

    public static void main(String[] args) {
       
        printTrigono(4,15);
    }


result 

****
*****
******
*******
********
*********
**********
***********
************
*************
**************
***************
**************
*************
************
***********
**********
*********
********
*******
******
*****
****
Δημοσ.

Έχεις δίκιο, ευχαριστώ... Αυτό που μου κάνει εντύπωση είναι ότι χωρίς το τελευταίο print (που είναι έξω από το if) το πρόγραμμα φτιάχνει αυτό [για (4,8)]:

 

άρα μαζί με το τελευταίο print θα έπρεπε να φτιάχνει αυτό:

να φτάνει δηλαδή στο m=n-1  να τυπώνει n να τρέχει και το τελευταίο print (όταν βγαίνει από την if τελευταία φορά το m είναι 7) και μετά να κλείνει!!!

 

Πως ανατροφοδοτείται και εμφανίζει και τα υπόλοιπα???

Το τελευταιο print (όπως και το πρώτο) καλείται οσες φορές καλείται η trigono.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...