Forum www.mechanikaput.fora.pl Strona Główna www.mechanikaput.fora.pl
forum studentów mechaniki i budowy maszyn na Politechnice Poznańskliej
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Program 3 help

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.mechanikaput.fora.pl Strona Główna -> Archiwum całego roku / Semestr I - Przedmioty ogólne / Języki Programowania / Laboratorium
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
nikoset




Dołączył: 03 Lis 2009
Posty: 243
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Nie 16:05, 26 Maj 2013    Temat postu: Program 3 help

Tak wygląda mój program: [link widoczny dla zalogowanych]
Przy odpowiedzi dodał mi gwiazdkę przy a w wyrażeniu: float (*fun2)(float a)
Czy ktoś mógłby mi z tym pomóc? Nie mam za grosz pomysłu jak to rozwiązać.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
chkrystek




Dołączył: 13 Mar 2013
Posty: 6
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Pią 8:43, 31 Maj 2013    Temat postu: ten sam problem

"Mój" program wygląda tak. Gwiazdka dodana jest przy funkcji y=funkcja(*x0)

Jak by ktoś mądrzejszy ode mnie mógł na to zerknąć bo już mi ręce opadaja...

//Program miejsca zerowe
#include <conio.h>
#include <stdio.h>
#include <math.h>
float miejscezerowe (float x0, float eps,float (*fun1)(float x),float (*fun2)(float x));
float funkcja(float f)
{
return (pow(f,2))-1;
}
float pochodna(float p)
{
return (2*p);
}
int main()
{
float x1,x0,eps,x;
printf("*****************************************************\n");
printf("Program obliczajacy miejsca zerowe funkcji y=x^2-1\n");
printf("*****************************************************\n\n");
printf ("Podaj przyblizenie poczatkowe x0:\n");
scanf ("%f", &x0);
printf ("Podaj dokladnosc wyznaczenia miejsca zerowego eps:\n");
scanf ("%f", &eps);
x1=miejscezerowe(x0,eps,funkcja,pochodna);
if(x1==0)
{
printf("Brak miejsc zerowych lub miejsce zerowe wynosi 0\n");
}
else
{
printf("\nWyznaczono miejsce zerowe funkcji, x1 wynosi:\n%f\n",x1);
}
getch();
return 0;
}
float miejscezerowe (float x0, float eps,float (*fun1)(float x),float (*fun2)(float x))
{
if (eps>=1)
{
printf ("Gdy dokladnosc jest wieksza lub rowna jednosci mamy blad matematyczny\n");
return 0;
}
float y,z,x1;
int i;
i=0;
for(;Wink
{
if (i==1000)
{
printf("Liczba iteracji przekroczyla 1000, program zakonczyl dzialanie\n");
return 0;
}
y=funkcja(*x0);
z=pochodna(x0);
if (z==0)
{
return 0;
}
x1=x0-(y/z);
if (fabs(x1-x0)>eps)
{
x0=x1;
i++;
}
else break;

}
return x1;
}


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.mechanikaput.fora.pl Strona Główna -> Archiwum całego roku / Semestr I - Przedmioty ogólne / Języki Programowania / Laboratorium Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin