Cod sursa(job #1218643)

Utilizator bggunaBogdan Guna bgguna Data 12 august 2014 03:12:38
Problema Fractii Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <stdio.h>
#include <stdlib.h>


int main () {
  // Open file "fractii.in" to read data.
  FILE *input = fopen("fractii.in", "rt");
  if (input == NULL) {
    fprintf(stderr, "Failed to open input file.\n");
    exit(1);
  }

  // Read the first line of the file.
  char first_line[10];
  fgets(first_line, 10, input);

  // Convert string to integer.
  int n = atoi(first_line);
  int count = 0, i, j, index = 0, k = 0;
  int size = n * n;
  double fractii[size];

  for (i = 0; i < size; i++)
    fractii[i] = 0;

  for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
      fractii[index] = (double) i / j;
      for (k = 0; k < index; k++) {
        if (fractii[k] == fractii[index]) {
          fractii[index] = 0;
        }
      }
      index++;
    }
  }

  for (i = 0; i < size; i++) {
    if (fractii[i] > 0) {
      count++;
    }
  }

  // Open file "fractii.out" to write data.
  FILE *output = fopen("fractii.out", "wt");
  if (output == NULL) {
    fprintf(stderr, "Failed to open output file.\n");
    exit(1);
  }

  fprintf(output, "%d\n", count);

  // Close input and output files.
  fclose(input);
  fclose(output);

  return 0;
}