Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-01-2005, 18:22   #1
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7908
Quesito C++ semplice

Salve

ho questo codice

Codice PHP:
using std::cout;
using std::cin;
using std::endl;

unsigned long fibonacciunsigned long );

int main()
{
    
unsigned long resultnumber;
    
unsigned long i;

    
cout << "Enter an integer: ";
    
cin >> number;
    
result fibonacci);
    for (
i++ , i==number )
    {
    
cout << "Fibonacci(" << << ") = " << result << endl;
    }
    return 
0;
}

// Recursive definition of function fibonacci
unsigned long fibonacciunsigned long n )
{
   if ( 
== || == )  // base case
      
return n;
   else                     
// recursive case
      
return fibonacci) + fibonacci);


dove sbaglio??commetto un errore logico?

per chi nn l'avesse capito voglio che il programma mi scriva la successione di fibonacci fino al numero che imposto io

grazie
supermario è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 18:32   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16215
Di errori ne commetti almeno tre.

Primo: la sintassi che usi per il for, non è quella del C++.
Prendi il libro e studia quella corretta.

Secondo: chiami fibonacci una volta sola, all'esterno del ciclo for anziché all'interno, e per di più su una variabile non inizializzata.
Fa' più attenzione quando scrivi il tuo codice.

Terzo: implementi fibonacci ricorsivamente, quando esiste un algoritmo iterativo immediatamente applicabile.
Le implementazioni ricorsive sono dispendiose dal punto di vista dell'occupazione della memoria: se puoi usare un'implementazione iterativa, fàllo.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 18:52   #3
beppegrillo
Senior Member
 
L'Avatar di beppegrillo
 
Iscritto dal: Mar 2004
Messaggi: 1455
Quote:
Originariamente inviato da Ziosilvio

Terzo: implementi fibonacci ricorsivamente, quando esiste un algoritmo iterativo immediatamente applicabile.
Le implementazioni ricorsive sono dispendiose dal punto di vista dell'occupazione della memoria: se puoi usare un'implementazione iterativa, fàllo.
L'esempio dell'individuazione del numero di fibonacci è il classico che i prof fanno per far capire la ricorsione ai propri studenti, quindi penso sia quello il motivo principale dello sviluppo di tale programma
E' vero che la ricorsione è generalmente più dispendiosa dell'approccio iterativo, ma in molti casi è più immediata e la perdita di memoria non è tale da preferire l'iterazione.
__________________
Ciao ~ZeRO sTrEsS~
beppegrillo è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 19:24   #4
chetidolanimale
Senior Member
 
Iscritto dal: Mar 2002
Messaggi: 939
nel momento in cui chiama fibonacci(i) la variabile i non è ancora inizializzata o sbaglio?
[edit]ops,già detto
chetidolanimale è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 19:41   #5
chetidolanimale
Senior Member
 
Iscritto dal: Mar 2002
Messaggi: 939
prova con questo:

#include<iostream>
using namespace std;

unsigned long fibonacci( unsigned long );

int main()
{
unsigned long number;

cout << "Enter an integer: ";
cin >> number;
for (unsigned long i = 0 ; i <= number ; i++)
{
cout << "Fibonacci(" << i << ") = " << fibonacci(i) << endl;
}
return 0;
}

// Recursive definition of function fibonacci
unsigned long fibonacci( unsigned long n )
{
if ( n == 0 || n == 1 ) // base case
return n;
else // recursive case
return fibonacci( n - 1 ) + fibonacci( n - 2 );
}

"dovrebbe" andare meglio,però consuma davvero un sacco di risorse, avevo provato a inserire 1000 ,ma arrivato a fibonacci(40) ho chiuso il programma per la disperazione...
chetidolanimale è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 19:43   #6
chetidolanimale
Senior Member
 
Iscritto dal: Mar 2002
Messaggi: 939
2 domandine
1) qual'è la necessità di dichiarare "number" come unsigned long?
2) se nel ciclo for dichiaro i come int, cosa cambia in pratica?
chetidolanimale è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 19:49   #7
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7908
come mi comporto con l'iteratività?


grazie x l'aiuto
supermario è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 20:14   #8
chetidolanimale
Senior Member
 
Iscritto dal: Mar 2002
Messaggi: 939
forse questa può andare:
Codice PHP:
#include<iostream>
using namespace std;

int main()
{
    
unsigned long number;

    
cout << "Enter an integer: ";
    
cin >> number;

    
unsigned long a=0b=1
    
cout << "Fibonacci(0) = " << << endl;
    if(
number>0cout << "Fibonacci(1) = " << << endl;

    
unsigned long swap;
    for (
unsigned long i <= number i++)
    {
       
swap=a;
       
a=b;
       
b+=swap;
       
cout << "Fibonacci(" << << ") = " << << endl;
    }
    return 
0;

a me funziona,però sono abbastanza niubbo in c++, quindi magari senti pure cosa dice qualcun'altro con + esperienza

Ultima modifica di chetidolanimale : 10-01-2005 alle 21:41.
chetidolanimale è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 20:28   #9
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7908
che palle nn posso eseguire il .exe che subito winxp me lo chiude
supermario è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 20:31   #10
chetidolanimale
Senior Member
 
Iscritto dal: Mar 2002
Messaggi: 939
è normale...
prova ad aprire il prompt dei comandi e ad eseguire il programma da lì
chetidolanimale è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 20:44   #11
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7908
sisi col pront so farlo ma mi rompe farlo sempre


su win me va senza problemi invece....no??
supermario è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 20:58   #12
chetidolanimale
Senior Member
 
Iscritto dal: Mar 2002
Messaggi: 939
ho letto giusto ieri sul forum che una delle soluzioni per ovviare al problema è includere il file <stdlib.h> e aggiungere giusto prima del return 0 finale questa riga: system("PAUSE");
chetidolanimale è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 21:19   #13
chetidolanimale
Senior Member
 
Iscritto dal: Mar 2002
Messaggi: 939
forse in c++ sarebbe più corretto fare una

#include<cstdlib>
using namespace std;

senza l'h finale nel nome della libreria
chetidolanimale è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 21:24   #14
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7908
good
supermario è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
ChatGPT registra clic e tasti sul Mac: g...
Ring Intercom: il citofono di casa diven...
LG e NVIDIA, robot umanoide bipede in ar...
Samsung prepara cuffie over-ear Galaxy p...
Le Fire TV Stick tornano in sconto e si ...
Il nuovo iPhone Ultra si farà attendere:...
POCO F9 Pro e F9 Ultra in arrivo in Euro...
Anthropic spiega come funziona il waterm...
Lutnick dice no alle memorie cinesi, ma ...
AGCOM ha introdotto un nuovo modo per id...
Oltre 2.000 robotaxi Pony.ai in Europa, ...
Continua la guerra silenziosa nello Spaz...
Blue Origin: inizia la costruzione del s...
Per Isaacman è stato giusto cance...
iPhone 18, un report conferma l'incremen...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v