Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.83 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define RANGE 100
  6. #define FILE_NAME "file_with_numbers.txt"
  7.  
  8.  
  9. int main() {
  10.  
  11.     int count, max, min, intpart, temp;
  12.     float number, arrNum, fractpart, sum = 0;
  13.    
  14.     srand(time(NULL));
  15.  
  16.     puts("Enter count of numbers:");
  17.     scanf("%d", &count);
  18.  
  19.     puts("Enter min value:");
  20.     scanf("%d", &min);
  21.  
  22.     puts("Enter max value:");
  23.     scanf("%d", &max);
  24.  
  25.     if (min >= max) {
  26.         printf("Min less than Max, exit...");
  27.         return 1;
  28.     }
  29.  
  30.     FILE *file = fopen(FILE_NAME, "w");
  31.     if (file == NULL)
  32.     {
  33.         printf("Error opening file!\n");
  34.         return 1;
  35.     }
  36.  
  37.     for (int i = 0; i < count; i++) {
  38.         //number = (float)rand() / (float)(RAND_MAX / (max - min));
  39.         //number += min;
  40.         scanf("%f", &number);
  41.        
  42.         printf("%f ", number);
  43.  
  44.         fprintf(file, "number: %f\n", number);
  45.     }
  46.     fclose(file);
  47.    
  48.     puts("");
  49.    
  50.     file = fopen(FILE_NAME, "r");
  51.    
  52.     if (file == NULL) {
  53.         printf("Can't open file for reading.\n");
  54.         return 1;
  55.     }
  56.    
  57.     for (int i = 0; i < count; i++) {
  58.       fscanf(file, "number: %f\n", &arrNum);
  59.       printf("%d. ", i);
  60.      
  61.       intpart = (int)arrNum;
  62.       fractpart = (arrNum - intpart) * 10000;
  63.       temp = abs((int)fractpart) + 1;
  64.       printf("Fractional part = %d of ", temp / 10);
  65.      
  66.       for (int j = 1; j <= 3; j++) {
  67.         //printf("\n ______%d_______\n", (temp % 10));
  68.        
  69.         if ( ((temp / (int)(pow(10, j))) % 10) == i ) {
  70.           arrNum *= -1;
  71.          
  72.           printf("___SOVPADAET___ ");
  73.           break;
  74.         }
  75.       }
  76.       sum += arrNum;
  77.      
  78.       printf("number: %f\n", i, arrNum);
  79.     }
  80.    
  81.     printf("\n Sum = %f \n", sum);
  82.     fclose(file);
  83.    
  84.     return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement