Witam mam problem z poniższym zadaniem. Program pokazuje nietrafione strzały i ignoruje "for" proszę o pomoc. Program napisany w C.
Napisz program symulujący strzały do tarczy. Użytkownik powinien podać średnicę tarczy. Zakładamy, że znajduje się ona w punkcie (0, 0) układu współrzędnych. Użytkownik powinien podać 6 par wartości zmiennoprzecinkowych będących miejscami kolejnych strzałów. Po każdej parze użytkownik powinien otrzymać informację zwrotną o ilości zdobytych punktów w ostatnim strzale lub napis "missed", jeżeli strzał nie trafił w tarczę. Na koniec należy wyświetlić sumę zdobytych punktów.
Za trafienie w centralny okrąg, którego średnica stanowi 10% średnicy tarczy otrzymuje się 10 punktów, a każde kolejne 10% średnicy zmniejsza liczbę zdobytych punktów o 1.
#include <stdio.h>
#include <math.h>
int main()
{
float srednica; //średnica
int sum = 0;
printf("Podaj średnicę tarczy: ");
scanf("%f", &srednica);
for (int i = 0; i < 7; i++) {
float x;
float y;
printf("Podaj x: ");
scanf("%f", &x);
printf("Podaj y: ");
scanf("%f", &y);
float r;
r = srednica / 2;
if (pow((0 - x), 2) + pow((0 - y), 2) > pow(r, 2)) {
printf("missed\n");
}
else {
float p = 1;
int i = 0; //punkt
for (; p == 0.1; p -= (0.1)) {
float r2 = pow((r * p), 2);
if (r2 <= pow((0 - x), 2) + pow((0 - y), 2)) {
i++;
printf("Zdobywasz %d pkt", i);
}
}
}
}
return 0;
}