Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. `
  2. #pragma once
  3. #ifndef MY_LAB_H
  4. #define MY_LAB_H
  5. struct polinom {
  6. int n;
  7. float *P;
  8. };
  9. void read_file(FILE *f1, struct polinom *p);
  10. void dif(struct polinom *p);
  11. void dif_k(struct polinom *p, int k);
  12. void out_pol(struct polinom *p);
  13. void write_file(FILE *f1, struct polinom *p);
  14. #endif
  15. `
  16.  
  17.  
  18. #include <stdio.h>
  19. #include <stdlib.h>
  20. #include "my_lab.h"
  21. void read_file(FILE *f1, struct polinom *p) {
  22. /*FILE *f1;
  23. f1 = fopen("my_lab.txt", "rt");
  24. if (f1 == NULL) {
  25. return 1;
  26. }*/
  27. fscanf_s(f1, "%d", &(p->n));
  28. p->P = (float*)malloc(sizeof(float)*(p->n) + 1);
  29. for (int i = 0; i < (p->n) + 1; i++) {
  30. fscanf_s(f1, "%f ", &((p->P)[i]));
  31. }
  32. fclose(f1);
  33. }
  34. void dif(struct polinom *p) {
  35. for (int i = 0; i < (p->n) + 1; i++) {
  36. *(p->P + i) = *(p->P + i)*((p->n) - i);
  37. }
  38. }
  39. void dif_k(struct polinom *p,int k) {
  40. for (int i = 0; i < k; i++) {
  41. dif(p);
  42. }
  43. }
  44. void out_pol(struct polinom *p) {
  45. for (int i = 0; i < (p->n) + 1; i++) {
  46. printf("%f ", *((p->P) + i));
  47. }
  48. printf("n");
  49. }
  50. void write_file(FILE *f1, struct polinom *p) {
  51. /*FILE *f1;
  52. f1 = fopen("my_lab.txt", "wt");
  53. if (f1 == NULL) {
  54. return 1;
  55. }*/
  56. /*fprintf(f1, "%dn", p->n);*/
  57. for (int i = 0; i < p->n + 1; i++) {
  58. fprintf(f1, "%f ", (p->P)[i]);
  59. }
  60. fprintf(f1, "n");
  61. fclose(f1);
  62. }
  63.  
  64. #include <stdio.h>
  65. #include <stdlib.h>
  66. #include "my_lab.h"
  67. int main() {
  68. struct polinom p = { 0,0 };
  69. FILE *f1;
  70. f1 = fopen("my_lab.txt", "rt");
  71. if (f1 == NULL) {
  72. return 1;
  73. }
  74. else {
  75. int k;
  76. printf("Input k:n");
  77. scanf_s("%d", &k);
  78. read_file(f1, &p);
  79. dif(&p);
  80. dif_k(&p, k);
  81. out_pol(&p);
  82. write_file(f1, &p);
  83. }
  84. return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement