Documente Academic
Documente Profesional
Documente Cultură
Laborator 7
1. Prima evaluare la laborator
......................... .............
2. Recursivitatea şi preprocesarea
Aplicaţie rezolvată 1. Rulaţi cele două variante de mai jos, ale generării şirului Fibonacci, observând diferenţa
între timpii de execuţie de la cele două variante.
long fibonacci(int);
int main()
{
int n=47, i;
long fibonacci(int n)
{
if ( n == 0 )
return 0;
else if ( n == 1 )
return 1;
else
return ( fibonacci(n-1) + fibonacci(n-2) );
}
A doua este varianta iterativă:
#include<stdio.h>
int main()
{
int n=47, i;
long f1 = 0, f2 = 1, f3;
1
Aplicaţie rezolvată 2. Definiţi un macro swap(t, x, y) care interschimbă două argumente de tipul de dată t.
#include <stdio.h>
#include <string.h>
int main(void)
{
char cx = 'x', cy = 'R';
printf("inainte de interschimbare: %c, %c\n\n", cx, cy);
swap(char, cx, cy)
printf("dupa interschimbare : %c, %c\n\n\n", cx, cy);
int ix = 7, iy = 12;
printf("inainte de interschimbare: %d, %d\n\n", ix, iy);
swap(int, ix, iy)
printf("dupa interschimbare : %d, %d\n\n\n", ix, iy);
return 0;
}