Informatică, întrebare adresată de SAIDARIAN, 9 ani în urmă

Ma puteti ajuta va rog?:) chiar nu imi dau seama de solutie.

Anexe:

Răspunsuri la întrebare

Răspuns de blindseeker90
1
#include <iostream>
using namespace std;
int main() {
    // insert code here...
    int a[20][20],n,i,j,x0,x1;
    cout<<"Introduceti dimensiunea:";
    cin>>n;
    //facem cazurile de baza cand n este 1 sau 2
    if(n==1){
        cout<<"0";
        return 0;
    }
    else if(n==2){
        cout<<"0 1"<<endl;
        cout<<"2 1"<<endl;
        return 0;
    }
   //initiem primii 2 termeni ai sirului fibonacci
    x0=0;
    x1=1;
//completam prima linie a matricei de la stanga la dreapta
    for(j=2;j<n;j++){
       //urmatorul termen este suma celor 2 precedenti
        a[0][j]=x0+x1;
        //x0 devine termenul x1
        x0=x1;
       //x1 ia valoarea termenului nou creat
        x1=a[0][j];
    }
    for(i=1;i<n;i++){
       //daca linia este impara, se va face citirea coloanelor de la dreapta la
      //stanga
        if(i%2==1){
            for(j=n-1;j>=0;j--){
                a[i][j]=x0+x1;
                x0=x1;
                x1=a[i][j];
            }
        }
       //altfel, se face de la stanga la dreapta
        else{
            for(j=0;j<n;j++){
                a[i][j]=x0+x1;
                x0=x1;
                x1=a[i][j];
            }
           
        }
    }
     //afisare matrice
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}

Alte întrebări interesante