Deklaracja tablicy[Solved]

Witam, częścią projektu jaki mam przygotować jest obliczenie wartości cosinusa dla pewnych argumentów w podanym przez użytkownika przedziale i zapisanie ich do tablicy.

Tablica zatem ma mieć tyle wartości ile będzie tych wyników - tutaj pojawia się mój pierwszy problem ponieważ nie wiem jak poprawnie zadeklarować taką tablicę. W poniższym kodzie spróbowałem zrobić to za pomocą zmiennej ale nie wiem tez w jaki sposób jej wartość przyrównać do liczby naturalnej aby zadeklarować tablice poprawnie a następnie wpisać do niej wartości

#include 

#include 



int main()

{

	double pp, kp, krok, eps, i, s, licznik;

	s==0;

	printf("Podaj poczatek przedzialu:");

	scanf("%lf",&pp);

	printf("Podaj koniec przedzialu:");

	scanf("%lf",&kp);

	printf("Podaj krok:");

	scanf("%lf",&krok);

	printf("Podaj dokladnosc:");

	scanf("%lf",&eps);

	licznik = ((kp-pp)/krok);

	double tablica1[licznik];

	for (i=pp; i<=kp; i=i+krok)

	{

		tablica1[s] = cos(i);

		s=s+1;

	}

	system("PAUSE");

	return 0;

}

Poza tymi problemami podczas próby kompilacji wyskakują mi następujące błędy:

L18 error C2143: syntax error : missing ‘;’ before ‘type’

L21 error C2065: ‘tablica1’ : undeclared identifier

L21 error C2109: subscript requires array or pointer type

Proszę o pomoc w zadeklarowaniu poprawnie tej tablicy

s==0;

to jest porównanie wartości. Tutaj chodziło Ci o przypisanie wartości (=).

Poczytaj:

http://pl.wikibooks.org/wiki/C/Tablice

Dynamiczna alokacja pamięci

double *tab;

...

tab = malloc(ilosc_elementow * sizeof *tab);

zmieniłem co nieco w kodzie - tablica jest już dobrze zadeklarowana ale przy próbie jej uzupełnienia i wypisania wartości mam następujące błędy:

L23 errorC2108: subscript is not of integral type

L28 errorC2108: subscript is not of integral type

gdy wstawię w miejsce “s” lub “i” jakieś konkretne wartości liczbowe (np. 0) to jest ok.

#include 

#include 

#include 



int main()

{

	double pp, kp, krok, eps, i, s, licznik;

	double *tablica1;

	s=0;


	printf("Podaj poczatek przedzialu:");

	scanf("%lf",&pp);

	printf("Podaj koniec przedzialu:");

	scanf("%lf",&kp);

	printf("Podaj krok:");

	scanf("%lf",&krok);

	printf("Podaj dokladnosc:");

	scanf("%lf",&eps);


	licznik = ((kp-pp)/krok);


	tablica1 = malloc(licznik * sizeof *tablica1);


	for (i=pp; i<=kp; i=i+krok)

	{

		tablica1[s] = cos(i);

		s=s+1;

	}


	for (i=0; i<=licznik; i=i+1)

	{

		printf("%lf\n", tablica1[i]);

	}


	system("PAUSE");

	return 0;

}

Zmienna s ma w Twoim kodzie typ double, a to nie jest typ całkowitoliczbowy - dokładnie to głosi komunikat błędu.

po zmianie typu działa jak należy - dziękuję