Ciąg fibonacciego z użyciem tablic

0

Witam, mam problem z programem dotyczącym ciągu fibonacciego, mam jakiś zaczątek ale nie wiem jak ruszyć dalej, bardzo prosze o pomoc. Program ma liczyć duże liczby dlatego trzeba zastosować tablice. Oto część programu:

int const         MAXszerTABL = 2001;
typedef unsigned char Byte;		
typedef Byte TABL[MAXszerTABL];

typedef unsigned short int Word;		

TABL    Akm1 = {3,7,4,0,9,6,0,0,0,0}, 
		Ak   = {8,2,7,2,9,7,9,0,0,0},  

		Akp1;
Word    k, l;  int nr;


Word max(Word a, Word b) { if(a>b) return a; else return b; }

Word szerokoscT(TABL A)
{ Word nr;
  for(nr=MAXszerTABL-1;nr>0;nr--) if(A[nr]) return nr+1;
  return 1; }

void zerujT(TABL A) { Word nr; for(nr=0;nr<MAXszerTABL;nr++) A[nr]=0; }

void skopiujT(TABL skad, TABL dokad)
{ Word nr; for(nr=0;nr<MAXszerTABL;nr++)   dokad[nr]=skad[nr]; }

void przeniesT(TABL skad, TABL dokad) 


void wyswietlT(TABL A, Word k)

void dodajT(TABL A, TABL B, TABL WYNIK) 

int main()     
{
system("mode con lines=25 cols=80");
printf("CIAG FIBONACCI'ego -");
printf("\n     naciskaj Enter, by liczyc kolejne wyrazy, Esc by zakonczyc:\n");
printf("%*cWyraz      Nr\n",66,32);
zerujT(Akm1); Akm1[0]=1; wyswietlT(Akm1,1);
zerujT(Ak  ); Ak  [0]=1; wyswietlT(Ak,  2);
zerujT(Akp1);
0

Nie mam pojęcia kto cię uczył programować, ale to coś powyżej to jest jakiś nieśmieszny żart.

#include <iostream>
using namespace std;

int main()
{
  int n; //do którego wyrazu maksymalnie wypisywać
  cin>>n;
  cin.sync();
  cin.clear();

  int* tablica = new int[n];
  if(n>=2)
  {
    tablica[0]=1;
    tablica[1]=1;
    cout<<tablica[0];
    cin.get();
    cout<<tablica[1];
    cin.get();
    for(int i=2;i<n;i++)
    {
      tablica[i]=tablica[i-1]+tablica[i-2];
      cout<<tablica[i];
      cin.get();
    }
  }
  else
    cout<<1;
  return EXIT_SUCCESS;
}

Jeśli mialo być w C, to trzeba było napisać :P Musisz sobie pozamieniać funkcje I/O
Jeśli koniecznie chcesz zeby escape przerywało to musisz zamiast cin.get() dać jakiegoś getch() albo tego typu funkcję.

0

Wybacz ale to program który napisałeś to raczej nieśmieszny żart. Liczy jedynie kilkanaście wyrazów. Mi chodzi o program który będzie liczył do kilku tysięcy wyrazów. A to co jest napisane w pierwszym poście jest w strzępkach i trzeba uzupełnić w kilku miejscach.

0

Aj przepraszam, przez te twoje magiczne (i zupełnie zbędne) typedefy nie zauważyłem ze chcesz to robić na wyrazach, bo oczekujesz bardzo długich liczb.
W takim razie przepisz ten kod z pierwszego posta w jakiś sensowny sposób, sformatuj odpowiednio kod, napisz komentarze i wtedy zobaczymy co jest nie tak.

0

Aby ruszyc dalej, proponuje ci uzupelnic funkcje dodajT().
A jak? A tak jak w podstawowce na matematyce. Uczyli dodawania pisemnego ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1