Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    35

    [c++]scrivere un programma che stampa n! asterischi

    ciao ragazzi dovrei fare il programma scritto da titolo, con il metodo della ricorsione io ho scritto il seguente codice
    codice:
    //scrivere un programma che stampa n! asterischi
    
    
    #include <iostream>
    using namespace std;
    int fat(int n){
        if (n==0) {
            return 1;}
        else if (n==1) {
            return 1;
            }
        else {
        
            return n*fat(n-1);
        }}
    
    
        
    int main (int argc, char * const argv[]) {
        int a,b;
        cin>>a;
        b=fat(a);
        for (int i=0;i<b;i++){
            cout << '*';}
        
        
        
        return 0;
    }
    che funziona, ma vorrei chiedere : "esiste un metodo per rendere anche la stampa degli asterischi ricorsiva senza usare il ciclo iterattivo for??"ho fatto diverse prove ma senza risultati compiacevoli.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    35
    Quote Originariamente inviata da enrico92 Visualizza il messaggio
    ciao ragazzi dovrei fare il programma scritto da titolo, con il metodo della ricorsione io ho scritto il seguente codice
    codice:
    //scrivere un programma che stampa n! asterischi
    
    
    #include <iostream>
    using namespace std;
    int fat(int n){
        if (n==0) {
            return 1;}
        else if (n==1) {
            return 1;
            }
        else {
        
            return n*fat(n-1);
        }}
    
    
        
    int main (int argc, char * const argv[]) {
        int a,b;
        cin>>a;
        b=fat(a);
        for (int i=0;i<b;i++){
            cout << '*';}
        
        
        
        return 0;
    }
    che funziona, ma vorrei chiedere : "esiste un metodo per rendere anche la stampa degli asterischi ricorsiva senza usare il ciclo iterattivo for??"ho fatto diverse prove ma senza risultati compiacevoli.
    ragionandorci di più ho trovato la soluzione
    codice:
    //scrivere un programma che stampa n! asterischi
    
    
    #include <iostream>
    using namespace std;
    int fat(int n){
    	if (n==0) {
    		return 1;}
    	else if (n==1) {
    		return 1;
    		}
    	else {
    	
    		return n*fat(n-1);
    	}}
    void print (int c){
    	if (c>0){cout<<'*';
    		print (c-1);}}
    	
    int main (int argc, char * const argv[]) {
    	int a,b;
    	cin>>a;
    	b=fat(a);
    	print(b);
    	
    	
    	
        return 0;
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.