[C++] stworzenie listy jednokierunkowej

anilahcim
Użytkownik
Użytkownik
Posty: 209
Rejestracja: 13 lip 2012, o 14:32
Płeć: Kobieta
Lokalizacja: Pcim
Podziękował: 107 razy

[C++] stworzenie listy jednokierunkowej

Post autor: anilahcim »

Proszę o pomoc. Mam napisać funkcję, która stworzy listę jednokierunkową. Oto poelcenie:
Stwórz listę, która zawiera reszty z dzielenia przez k pierwszych n wyrazów
ciągu zdefiniowanego nastepująco:

\(\displaystyle{ a_0=2}\) oraz \(\displaystyle{ a_{i+1}=2a_i-i}\)

Pamiętaj, nie dzielimy przez 0!


To mój kod:

Kod: Zaznacz cały

wezel* stworz_liste(int n, int k)
{
	if (k==0)
	{
		cout<<"Nie mozna dzielic przez 0."<<endl;
		return NULL;
	}
	
	wezel* lista = new wezel;
	lista->wartosc = 2;
	wezel* glowa = lista;
	
	int* ciag = new int[n];

	ciag [0] = 2;
	for (int j=0; j<n-1; ++j)
		ciag[j+1] = 2*(ciag[j] - (j));

	wezel* tmp = new wezel;

	for (int i=1; i<n; ++i)
	{
		tmp->wartosc = ciag[i]&k;
		lista->nast = tmp;
		lista = lista->nast;
      tmp = tmp->nast;
	}
	return glowa;
}
Już tyle czasu próbuję zmieniać ten kod, że nic nowego nie wymyślę, a ciągle nie działa, dlatego prosiłabym o pomoc.
ODPOWIEDZ