Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-01-2005, 19:22   #1
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7906
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, 19:32   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16211
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, 19:52   #3
beppegrillo
Senior Member
 
L'Avatar di beppegrillo
 
Iscritto dal: Mar 2004
Messaggi: 1451
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, 20: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, 20: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, 20: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, 20:49   #7
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7906
come mi comporto con l'iteratività?


grazie x l'aiuto
supermario è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 21: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 22:41.
chetidolanimale è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2005, 21:28   #9
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7906
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, 21: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, 21:44   #11
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7906
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, 21: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, 22: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, 22:24   #14
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7906
good
supermario è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
L'aeroplano supersonico ''silenzioso'' N...
Nissan: le batterie allo stato solido co...
NVIDIA cambia strategia? La GPU Feynman ...
Signal respinge le accuse dopo il down A...
Uragano Melissa in arrivo: la tempesta d...
8K o 4K? Ecco perché il tuo occhi...
Mercato auto europeo in crescita nei pri...
Addio SSD e RAM, benvenuti funghi: dagli...
TCL Q6C: tecnologia e design per un TV c...
Corsair MP700 PRO XT al debutto: un SSD ...
Apple Watch Ultra 2 in titanio con GPS +...
Nuova protezione per Windows 11: scansio...
GoPro LIT HERO a 249€ su Amazon: la nuov...
PayPal integra i pagamenti in ChatGPT: c...
Battlefield REDSEC: al via la Stagione 1...
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: 18:52.


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