Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. int rozmiar_wynik;
  6.  
  7. struct punkt
  8. {
  9. float x;
  10. float y;
  11. };
  12.  
  13. struct punkt *funkcja(struct punkt *tablica, int rozmiar, float warunek)
  14. {
  15. int i, licznik = 0, k = 0;
  16. float odleglosc;
  17. for(i = 0; i < rozmiar; i++)
  18. {
  19. odleglosc = sqrt(tablica[i].x * tablica[i].x + tablica[i].y * tablica[i].y);
  20. if(odleglosc < warunek)
  21. licznik++;
  22. }
  23.  
  24. struct punkt *wynik = (struct punkt*) malloc (licznik * sizeof(struct punkt));
  25.  
  26. for(i = 0; i < rozmiar; i++)
  27. {
  28. odleglosc = sqrt(tablica[i].x * tablica[i].x + tablica[i].y * tablica[i].y);
  29. if(odleglosc < warunek)
  30. {
  31. wynik[k].x = tablica[i].x;
  32. wynik[k].y = tablica[i].y;
  33. k++;
  34. }
  35. }
  36. rozmiar_wynik = licznik;
  37. return wynik;
  38. }
  39.  
  40. int main()
  41. {
  42. int i;
  43. struct punkt *tab = (struct punkt*) malloc (5 * sizeof(struct punkt));
  44. tab[0].x = 3;
  45. tab[0].y = 4;
  46.  
  47. tab[1].x = 10;
  48. tab[1].y = 10;
  49.  
  50. tab[2].x = 1;
  51. tab[2].y = 1;
  52.  
  53. tab[3].x = 0;
  54. tab[3].y = 0;
  55.  
  56. tab[4].x = 5;
  57. tab[4].y = 5;
  58.  
  59. struct punkt *wynik = funkcja(tab, 5, 10);
  60.  
  61. for(i = 0; i < rozmiar_wynik; i++){
  62. printf("%f %f\n", wynik[i].x, wynik[i].y);
  63. }
  64.  
  65. return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement