gashink_t

структуры и функции

Feb 13th, 2020
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.34 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. struct parabola {
  6.     int a,b,c;
  7. };
  8.  
  9. struct parabola* vvod(int n);
  10. int reshenie(struct parabola A[],int n);
  11.  
  12. int main()
  13. {  
  14.     int n,i;
  15.     printf("vvedite col-vo parabol: \n");
  16.     scanf("%d", &n);
  17.     struct parabola* z=vvod(n);
  18.     reshenie(z,n);
  19.     return 0;
  20. }
  21.  
  22. struct parabola* vvod(int n)
  23. {
  24.     int i;
  25.     struct parabola *A;
  26.     A=(struct parabola*)malloc(n*sizeof(struct parabola));
  27.     for (i=0;i<n;i++)
  28.     {
  29.         printf("vvedite parametry a, b, c dlya %d paraboly: \n", i+1);
  30.         scanf("%d %d %d", &A[i].a,&A[i].b,&A[i].c);
  31.     }
  32.     return A;
  33. }
  34.  
  35. int reshenie(struct parabola A[],int n)
  36. {
  37.     int i;
  38.     double X1=0,X2=0,D=0;
  39.     for (i=0;i<n;i++)
  40.     {
  41.         if ((pow(A[i].b,2)-4*A[i].a*A[i].c)>0)
  42.         {
  43.             D=pow(A[i].b,2)-4*A[i].a*A[i].c;
  44.             X1=(-A[i].b+sqrt(D))/(2*A[i].a);
  45.             X2=(-A[i].b-sqrt(D))/(2*A[i].a);
  46.             printf("parabola №%d peresecset X v tockah: x1 = %0.1f, x2 = %0.1f\n", i+1,X1,X2);
  47.         }
  48.         else if ((pow(A[i].b,2)-4*A[i].a*A[i].c)==0)
  49.         {
  50.             X1=-(A[i].b/(2*A[i].a));
  51.             printf("parabola №%d peresecset X v tocke: x = %0.1f\n", i+1,X1);
  52.         }
  53.         else printf("parabola №%d ne peresecset X \n", i+1);
  54.     }
  55.     return 0;
  56.    
  57. }
Add Comment
Please, Sign In to add comment