Показать полную графическую версию : [решено] простейшая программка.... помогите пожалуйста
Задание первого курса, на паскеле все сам сообразил, а вот на си не как не могу доехать...
Имеется задача:
Найти наибольшее и наименьшее расстояние между вершинами треугольника АВС.
Все в принципе просто - сначала идет запрос значений координат вершин, затем по теореме пифагора находятся расстояния между ними, ну и затем находится максимальное и минимальное значение расстояния между вершинами, с их последующим написанием.
Толковый борланд найти не смог, поэтому прошу знающих людей выложить исходный код данной программы и если можно скомпилированный файл... И очень благодарен буду за небольшие комментарии к операторам и командам...
Всем заранее спасибо;)
Скомпилишь сам
#include <stdio.h>
#include <math.h>
#define max3(a,b,c) ( ((a) > (b)) ? ( ((a)>(c)) ? (a) : (c) ) : ( ((b)>(c)) ? (b) : ( ((b)>(c))? (b):(c) ) ))
#define min3(a,b,c) ( ((a) > (b)) ? ( ((b)>(c)) ? (c): (b) ) : (((a)>(c)) ? (c): (a)) )
void main()
{
int a1,b1,a2,b2,a3,b3;
double r1,r2,r3;
scanf("%d%d%d%d%d%d",&a1,&b1,&a2,&b2,&a3,&b3);
r1=sqrt(pow(a2-a1,2)+pow(b2-b1,2));
r2=sqrt(pow(a2-a3,2)+pow(b2-b3,2));
r3=sqrt(pow(a3-a1,2)+pow(b3-b1,2));
printf("\npoint1: (%d,%d)\npoint2: (%d,%d)\npoint3: (%d,%d)\ndst1: %f\ndst2: %f\ndst3: %f\nMAX: %f\nMIN: %f\n" ,a1,b1,a2,b2,a3,b3,r1,r2,r3,max3 (r1, r2 ,r3 ),min3 (r1, r2 ,r3 ));
}
mrcnn, DruOleg, между r2=sqrt(pow(a2-a3,2)+pow(b2-b3,2));
r3=sqrt(pow(a3-a1,2)+pow(b3-b1,2));
printf("\npoint1: (%d,%d)\npoint2: (%d,%d)\npoint3: (%d,%d)\ndst1: %f\ndst2: %f\ndst3: %f\nMAX: %f\nMIN: %f\n" ,a1,b1,a2,b2,a3,b3,r1,r2,r3,max3 (r1, r2 ,r3 ),min3 (r1, r2 ,r3 ));
scanf ("%d", &exit); // Сюда строку нужно добавить, иначе окно закроется и объявить переменную exit.
}
int a1,b1,a2,b2,a3,b3, exit; // здесь объявить переменную exit
небольшие комментарии к операторам и командам... »То просто,
#include <stdio.h>
#include <math.h>
#define max3(a,b,c) ( ((a) > (b)) ? ( ((a)>(c)) ? (a) : (c) ) : ( ((b)>(c)) ? (b) : ( ((b)>(c))? (b):(c) ) )) // макрос максимального расстояния между вершинами треугольника
#define min3(a,b,c) ( ((a) > (b)) ? ( ((b)>(c)) ? (c): (b) ) : (((a)>(c)) ? (c): (a)) ) // макрос минимального расстояния между вершинами треугольника
void main()
{
int a1, b1, a2, b2, a3, b3, exit; // Объявление пременных для ввода данных
double r1, r2, r3; // объявление переменных для хранения и вывода результата
scanf("%d%d%d%d%d%d",&a1,&b1,&a2,&b2,&a3,&b3); // Считывание значений с клавиатуры в переменные для ввода данных
r1=sqrt(pow(a2-a1,2)+pow(b2-b1,2)); // Расчёт
r2=sqrt(pow(a2-a3,2)+pow(b2-b3,2)); // Расчёт
r3=sqrt(pow(a3-a1,2)+pow(b3-b1,2)); // Расчёт
printf("\npoint1: (%d,%d)\npoint2: (%d,%d)\npoint3: (%d,%d)\ndst1: %f\ndst2: %f\ndst3: %f\nMAX: %f\nMIN: %f\n" ,a1,b1,a2,b2,a3,b3,r1,r2,r3,max3 (r1, r2 ,r3 ),min3 (r1, r2 ,r3 )); // расчёт по условиям макроса и вывод результата на экран
scanf ("%d", &exit); // чтобы не закрылось окно
} Откомпилированный файл приложил
mrcnn, Drongo, спасибо большое!:) Не знаю прям как отблагодарить:)
Еще вопрос нескромный, чем файл компилировать лучше, для таких "примитивных" целей... В интернете пока не чего толкового не нашел:(
DruOleg, спасибо большое! »Вообще, отдельное спасибо за решение задачи mrcnn, а откомпилировать это даже труда не составило. чем файл компилировать лучше »Ну, я сделал это Borland C++ Builder 6.0Толковый борланд »
Если продукт от Борланд проблематично достать то скомпилить можно и использовав компилятор входящий в Visual Studio 2008 Express Editions (http://www.microsoft.com/express/download/offline.aspx).
Кроме того в темах Выбор компилятора и IDE для C++ (http://forum.oszone.net/thread-98354.html)
Помогите выбрать компилятор для С++ (http://forum.oszone.net/thread-96599.html)
Нужен компилятор/IDE С (http://forum.oszone.net/thread-93251.html)
Какой компилятор C++ под Win лучше? (http://forum.oszone.net/thread-30058.html)
Вопрос обсуждался так что выбирать есть из чего.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.