|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] простейшая программка.... помогите пожалуйста |
|
C/C++ - [решено] простейшая программка.... помогите пожалуйста
|
Старожил Сообщения: 166 |
Профиль | Отправить PM | Цитировать Задание первого курса, на паскеле все сам сообразил, а вот на си не как не могу доехать...
Имеется задача: Найти наибольшее и наименьшее расстояние между вершинами треугольника АВС. Все в принципе просто - сначала идет запрос значений координат вершин, затем по теореме пифагора находятся расстояния между ними, ну и затем находится максимальное и минимальное значение расстояния между вершинами, с их последующим написанием. Толковый борланд найти не смог, поэтому прошу знающих людей выложить исходный код данной программы и если можно скомпилированный файл... И очень благодарен буду за небольшие комментарии к операторам и командам... Всем заранее спасибо |
|
Отправлено: 20:26, 09-07-2008 |
Ветеран Сообщения: 1404
|
Профиль | Отправить PM | Цитировать Скомпилишь сам
#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 )); } |
------- Отправлено: 21:14, 09-07-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать 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. } Цитата DruOleg:
#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); // чтобы не закрылось окно } |
|
------- Отправлено: 21:51, 09-07-2008 | #3 |
Старожил Сообщения: 166
|
Профиль | Отправить PM | Цитировать mrcnn, Drongo, спасибо большое! Не знаю прям как отблагодарить
Еще вопрос нескромный, чем файл компилировать лучше, для таких "примитивных" целей... В интернете пока не чего толкового не нашел |
Отправлено: 22:03, 09-07-2008 | #4 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать |
|
------- Отправлено: 22:12, 09-07-2008 | #5 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать |
Отправлено: 02:21, 12-07-2008 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBA - [решено] Помогите, пожалуйста, отладить макрос | St33l | Программирование и базы данных | 4 | 20-12-2009 12:41 | |
[решено] Помогите пожалуйста с графиккартой! | Сергей.inri | Тест-форум | 4 | 04-12-2009 21:09 | |
Прочее - [решено] помогите пожалуйста с проектированием сети | network_newbie | Сетевое оборудование | 4 | 13-11-2009 18:28 | |
Прочее - [решено] Помогите пожалуйста с роутингом | alive_corpse | Общий по Linux | 3 | 08-08-2008 13:47 | |
Разное - [решено] Помогите пожалуйста! Ошибка ASMS... | Grunger86 | Наборы обновлений для Windows XP/2003/Windows 7 | 44 | 05-06-2008 21:39 |
|