Guest User

wyznacznik

a guest
Nov 2nd, 2018
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.91 KB | None | 0 0
  1. #include <stdio.h> //pliki nagłówkowe
  2. #include <conio.h>
  3. #include <math.h>
  4.  
  5.  
  6. double x[31],y[31],z[31][31];
  7. double det;
  8.  
  9. void zad1();
  10. void zad2();
  11. void RUN(void);
  12.  
  13.  
  14. int main()
  15. {
  16.     RUN();
  17.     return 0;
  18. }
  19.  
  20. void RUN(void)
  21. {
  22.     zad1();
  23.  
  24.     zad2();
  25.  
  26. }
  27.  
  28. void zad1()
  29. {
  30.     double x1,x2,y1,y2,krokX,krokY;
  31.     int k,i,j;
  32.    
  33.     do{
  34.         printf("\n Podaj wartosc poczotkowa X:");
  35.         k=scanf("%lf",&x1);
  36.         if (k==0) printf("\n\n Niepoprawny format liczby!\n\n");
  37.         fflush(stdin);
  38.     }while (k==0);
  39.    
  40.     do{
  41.         printf("\n Podaj wartosc koncowa X:");
  42.         k=scanf("%lf",&x2);
  43.         if (k==0||x2<x1) printf("\n\n Niepoprawny format liczby!\n\n");
  44.         fflush(stdin);
  45.     }while (k==0||x2<x1);
  46.    
  47.     do{
  48.         printf("\n Podaj wartosc poczotkowa Y:");
  49.         k=scanf("%lf",&y1);
  50.         if (k==0) printf("\n\n Niepoprawny format liczby!\n\n");
  51.         fflush(stdin);
  52.     }while (k==0);
  53.    
  54.     do{
  55.         printf("\n Podaj wartosc koncowa Y:");
  56.         k=scanf("%lf",&y2);
  57.         if (k==0||y2<y1) printf("\n\n Niepoprawny format liczby!\n\n");
  58.         fflush(stdin);
  59.     }while (k==0|y2<y1);
  60.    
  61.     krokX=(x2-x1)/31;
  62.     krokY=(y2-y1)/31;
  63.     x[0]=x1;
  64.     y[0]=y1;
  65.    
  66.     for(i=1;i<31;i++)
  67.     {
  68.         x[i]=x[i-1]+krokX;
  69.         y[i]=y[i-1]+krokY;
  70.     }
  71.     for(i=0;i<31;i++)
  72.     {
  73.         printf("\n[%d]:  %lf   %lf",i,x[i],y[i]);
  74.     }
  75.    
  76.     for(i=0;i<31;i++)
  77.         for(j=0;j<31;j++)
  78.             z[i][j]=pow((x[i]-15),2)-pow((y[j]-15),2);
  79.            
  80.     for(i=0;i<31;i++) //dr. Wojciechowski zalecił użyć przekątnej z tym wzorem aby wyznacnzik nie wychodził 0
  81.         z[i][i]=0.05*(i+1);
  82.    
  83.    
  84.     FILE* plik=fopen("zad1.txt", "w");     
  85.     for(i=0;i<31;i++)
  86.     {
  87.         fprintf(plik,"\n");
  88.         for(j=0;j<31;j++){
  89.             fprintf(plik,"%lf ",z[i][j]);
  90.         }
  91.     }
  92.     fclose(plik);
  93.     printf("\n\n");
  94.    
  95.    
  96. }
  97.  
  98. void zad2()
  99. {
  100.     printf("Transpozycja macierzy\n");
  101.     int i,j;
  102.     FILE* plik2=fopen("zad2.txt", "w");    
  103.     for(i=0;i<31;i++)
  104.     {
  105.         fprintf(plik2,"\n");
  106.         for(j=0;j<31;j++){
  107.             fprintf(plik2,"%lf ",z[j][i]);
  108.         }
  109.     }
  110.     fclose(plik2);
  111.     printf("\n\n");
  112.    
  113. }
Advertisement
Add Comment
Please, Sign In to add comment