Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Frecventa modificata radio

Un nou pericol pt batrani

Ar trebuii sa vindem imobiliarele...

Dupa renuntarea la aparat dentar
 pelerinaj in Balcik

Noul format Jpegli iși propu...

Dade, dade

Parola la lock screen
 Deparazitare externa pisici fara ...

Seriale turcesti/coreene online H...

Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle
 Problema mare cu parintii= nervi ...

switch microtik

Permis categoria B la 17 ani

Sfaturi pentru pregatirea de eval...
 

cel de-al n-lea termen din sirul lui Fibonacci

- - - - -
  • Please log in to reply
14 replies to this topic

#1
GreenEyes2020

GreenEyes2020

    Junior Member

  • Grup: Junior Members
  • Posts: 29
  • Înscris: 03.01.2020
As mai vrea, va rog frumos, cine ma poate ajuta ... sa imi spuna ce gresesc la acest exercitiu in C.Vreau sa scriu un program care afiseaza cel de-al n-lea termen din sirul lui Fibonacci ...

#include<stdio.h>
void main()
{int n,i,f0=1,f1=1,f2=1;
printf("Introduceti numarul:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{f2=f1+f0;
f0=f1;
f1=f2;
printf("Rezultatul este %i",f2);
  return 0;
}
}

Edited by MarianG, 08 April 2022 - 14:21.
tag-uri


#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Cam repede ai aflat rezultatul

#3
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,443
  • Înscris: 10.08.2005
[ https://www.youtube-nocookie.com/embed/B97Lhep5O5A?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

Edited by MarianG, 08 April 2022 - 14:33.


#4
Irbaa

Irbaa

    Junior Member

  • Grup: Junior Members
  • Posts: 54
  • Înscris: 15.03.2022
Salut, nustiu ce ai gresit , fiindca folosesti functii pe care nu le cunosc , dar iti pot arata cum am rezolvat eu exercitiu.
#include <iostream>
using namespace std;
int main() {
  int a = 1 , b = 1 ,c , n , i = 3;
  cin >> n;
   if (n == 1 || n == 2) {
	   cout << 1;
   } else {
	   while (i <= n){
		   c = a + b;
		   a = b ;
		   b = c;
		   ++i;
	   }
	   cout << c << " ";
   }

  return 0;
}

Edited by MarianG, 08 April 2022 - 17:36.


#5
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,443
  • Înscris: 10.08.2005
modalitatea de input este irelevanta pentru calculul matematic fib(n)

Acum pentru ca traim in Romania si vorbim aceasi limba matematica, evident ca aceste coduri sunt 100% diferite
c = a + b;
a = b ;
b = c;

f2 = f1 + f0;
f0 = f1;
f1 = f2;


Edited by MarianG, 08 April 2022 - 19:18.


#6
Nenea Zap

Nenea Zap

    Zuperman

  • Grup: Senior Members
  • Posts: 17,052
  • Înscris: 10.04.2006

 GreenEyes2020, on 08 aprilie 2022 - 11:18, said:

As mai vrea, va rog frumos, cine ma poate ajuta ... sa imi spuna ce gresesc la acest exercitiu in C.Vreau sa scriu un program care afiseaza cel de-al n-lea termen din sirul lui Fibonacci ...

Ce iti afiseaza cand rulezi programul?
Ce ai vrea sa afiseze?

#7
GreenEyes2020

GreenEyes2020

    Junior Member

  • Grup: Junior Members
  • Posts: 29
  • Înscris: 03.01.2020

 Nenea Zap, on 08 aprilie 2022 - 19:34, said:

Ce iti afiseaza cand rulezi programul?
Ce ai vrea sa afiseze?
Vreau sa imi afiseze cel de-al n-lea termen din sirul lui Fibonacci ... indiferent cat scriu la n, imi da la rezolvare 2, parca e blocat la 2 :((

#8
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,443
  • Înscris: 10.08.2005
Si in cazul asta de ce nu il opresti mai tarziu ?
return 0;

#9
Nenea Zap

Nenea Zap

    Zuperman

  • Grup: Senior Members
  • Posts: 17,052
  • Înscris: 10.04.2006
Încearcă să formatezi codul cum a făcut colegul de mai sus.
Va fi mai ușor să vezi ce trebuie reparat la cod :(

#10
GreenEyes2020

GreenEyes2020

    Junior Member

  • Grup: Junior Members
  • Posts: 29
  • Înscris: 03.01.2020
Multumesc tuturor, m-ati luminat:
1). am sters return 0 ;
2). am mutat  } ;
3).am setat f0=0
si acum imi functioneaza cum vreau eu
#include<stdio.h>
void main()
{
int n,i,f0=0,f1=1,f2;
printf("Introduceti numarul:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{
f2=f0+f1;
f0=f1;
f1=f2;
}
printf("Rezultatul este %d",f2);
}


Edited by MarianG, 09 April 2022 - 18:59.


#11
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Pe viitor:
  • Inveti sa rulezi programul pas cu pas, linie cu linie si sa inspectezi ce valoare are fiecare variabila
  • Ceri sa-ti formateze automat codul pentru a observa greseli banale precum aceasta.


#12
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,443
  • Înscris: 10.08.2005

 GreenEyes2020, on 09 aprilie 2022 - 17:40, said:

si acum imi functioneaza cum vreau eu
dar oare este corect ?

Quote

Introduceti numarul:50
Rezultatul este -298632863
Intrebarea este valabila si pentru @Irbaa.

Edited by MarianG, 09 April 2022 - 19:29.


#13
GreenEyes2020

GreenEyes2020

    Junior Member

  • Grup: Junior Members
  • Posts: 29
  • Înscris: 03.01.2020
Nu stiu daca e corect , sunt incepator , dar ca sa fiu sincer ma bucur precum un copil cand se compileaza fara erori :D

 dani.user, on 09 aprilie 2022 - 18:34, said:

Pe viitor:
  • Inveti sa rulezi programul pas cu pas, linie cu linie si sa inspectezi ce valoare are fiecare variabila
  • Ceri sa-ti formateze automat codul pentru a observa greseli banale precum aceasta.

Cum as putea sa formatez automat codul ? Tin sa precizez ca folosesc Codeblocks

#14
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,443
  • Înscris: 10.08.2005
Vezi, desi compileaza fara erori programul ofera rezultate gresite.

Cand nu stii, verifici!
Vezi unde da gres, vezi de ce da gres.
Ne arati ce ai gasit, cum ai testat, ne spui ideea ta despre DE CE da gres.

Il poti scrie formatat, sau poti folosi un serviciu tert plugin/online.

Edited by MarianG, 10 April 2022 - 17:53.


#15
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,954
  • Înscris: 24.04.2013
Si dupa ce va fi rezolvata partea de incepatori, tema mai de avansati (in C/C++):

Pentru rezolvarea problemei clar e nevoie de o variabila in care sa citesti al catelea element din sir il vrei. Pentru calculele din algoritm ai nevoie de 2 valori succesive din sir, deci inca 2 variabile. Rezolvati problema fara a folosi absolut nici o alta variabila declarata de voi (deci cin/ cout sunt ok, dar nu si acel i pentru ciclu sau f2/ c pentru calcule intermediare).



Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate