Считая, что заданы координаты концов отрезков, найти их длины - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан файл натуральных чисел. Количество чисел в файле кратно четырем, каждые два последовательных числа определяют координаты некоторой точки на плоскости. Считая, что заданы координаты концов отрезков, найти их длины.

Решение задачи: «Считая, что заданы координаты концов отрезков, найти их длины»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int l_vect(FILE *,int*,int*);
int main()
{
   int beg[2],end[2]; //координаты точек начала и конца вектора
   FILE *f;
   char str[20];
   scanf("%s",str); 
   f = fopen(str,"r");
   if(f == NULL) // Проверка ошибки открытия файла
   {
       puts("File open error...");
       getchar();
       return 0;
   }
   while(!feof(f)) // Пока не конец файла
       printf("Long vector: %i\n",l_vect(f,beg,end));
   getchar();
   getchar();
   return 1;
}
int l_vect(FILE *f,int *beg, int *end)
{
 
       fscanf(f,"%i",&beg[0]);
       fscanf(f,"%i",&beg[1]);
       fscanf(f,"%i",&end[0]);
       fscanf(f,"%i",&end[1]);
       return sqrt((pow((double)(end[0]-beg[0]),2)+pow((double)(end[1]-beg[1]),2))); // Возвращаем значение по формуле:
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с вводом-выводом, математическими функциями и файлами
  2. Определяем функцию l_vect, которая будет вычислять длину вектора по заданным координатам концов отрезков
  3. В функции main открываем файл для чтения с помощью fopen и проверяем успешность операции с помощью feof
  4. Пока файл не закончился, считываем координаты концов отрезков с помощью fscanf и передаем их в функцию l_vect
  5. Выводим значение длины вектора на экран с помощью printf
  6. В функции l_vect считываем координаты концов отрезков с помощью fscanf
  7. Вычисляем длину вектора по формуле sqrt((pow((double)(end[0]-beg[0]),2)+pow((double)(end[1]-beg[1]),2)) и возвращаем результат
  8. Закрываем файл с помощью fclose после окончания работы с ним
  9. Возвращаем 1 в функции main, если файл успешно открыт и прочитан, иначе возвращаем 0 и выводим сообщение об ошибке
  10. В функции l_vect используем pow из библиотеки math.h для вычисления квадрата числа с плавающей точкой
  11. В функции l_vect используем sqrt из библиотеки math.h для вычисления квадратного корня числа с плавающей точкой
  12. В функции main используем getchar для считывания символа новой строки
  13. В функции main используем feof для проверки окончания файла
  14. В функции main используем fscanf для считывания чисел из файла
  15. В функции main используем printf для вывода значения длины вектора на экран
  16. В функции main используем fclose для закрытия файла
  17. В функции main используем getchar для считывания символа новой строки
  18. В функции main используем getchar для считывания символа новой строки
  19. В функции main возвращаем 1 при успешном выполнении программы, иначе возвращаем 0
  20. В функции l_vect используем fscanf для считывания чисел из файла

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы