Jaki kurs z ANSI C warto czytać na początek? Odpowiedzi na swoje pytania związane z programowaniem w tym języku szukam w książce Język ANSI C. Programowanie (Brian W. Kernighan, Dennis M. Ritchie), ale np. nie mogę zrozumieć tam opisu funkcji, a z chęcią bym zrozumiała jak tworzyć programy z użyciem funkcji. Zaczęłam od pisania podstawowych programów w C to znaczy wyświetlanie napisów dodawanie i to rozumiem. Napisałam też program który wyszukiwał miejsce zerowe funkcji cos i chciałam go przerobić na program z użyciem funkcji i nic mi z tego nie wyszło. Program bez użycia funkcji wyglądał:
# include <stdio.h>
# include <math.h>
int main ()
{
float a,b,epsilon;
printf(" Podaj Epsilon:");
scanf("%f.00" , & epsilon);
printf(" Podaj poczatek przedzialu:");
scanf("%f.00" , & a);
printf(" Podaj koniec przedzialu:");
scanf("%f.00" , & b);
while(b-a>epsilon)
{
float c=(a+b)/2;
if(cos(a)*cos(c)>0)
{
a=c;
}
else b=c;
}
printf("Miejsce zerowe funkcji cosinus: %f",a);
return 0;
}
Teraz miałam też do zrobienia zadanie: Mamy tablicę zawierającą ułożone w kolejności malejącej liczby (przyjmijmy, dla skupienia uwagi — całkowite).
Należy stworzyć algorytm, stosując metodę wyszukiwania binarnego, sprawdzający czy zadana liczba X znajduje się w tablicy. Jeżeli tak — algorytm zwraca numer pozycji, na której znajduje się liczba.
Jedyne co udało mi się napisać to:
#
include <stdlib.h>
int tab [] = {50,39,28,23,21,13,7,5,3,2,1};
int a, pozycja,s;
printf("Podaj liczbe do wyszukania\a");
scanf("%d",&a);
int wyszukiwarka (int tab[], int a);
{
if tab[i] == a;
}
int main()
{
pozycja=funkcja(tab,s);
}
W tym drugim nie chciałabym używać rozmiaru tablicy tylko jakiejś prostej funkcji, ale nie wiem jak ją napisać, dlatego chciałabym zacząć od kursu, który wytłumaczy mi podstawy programowania w C.
Dziękuję bardzo za pomoc.