C++ // Zadanie 1 (wersja a)
Dane są trzy punkty na płaszczyźnie: X = (x1, x2), Y = (y1, y2) i Z = (z1, z2). Tworzą one trójkąt T. Proszę:
1. W funkcji main() wczytać współrzędne punktów X, Y, Z (współrzędne są typu float)/
2. Uzupełnić ciało funkcji main() tak aby w efekcie działania programu na monitorze pojawił się komunikat o wartości proporcji najkrótszego boku do najdłuższego boku trójkąta T.
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2025 KUDO.TIPS - All rights reserved.
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
float x1, x2, y1, y2, z1, z2, a, b, c, x, y, p;
cout<<"Podaj wspolrzedne: (x1, x2, y1, y2, z1, z2)"<<endl;
cin>>x1;
cin>>x2;
cin>>y1;
cin>>y2;
cin>>z1;
cin>>z2;
a = sqrt( (x1-y1)*(x1-y1) + (x2-y2)*(x2-y2) );
b = sqrt( (x1-z1)*(x1-z1) + (x2-z2)*(x2-z2) );
c = sqrt( (z1-y1)*(z1-y1) + (z2-y2)*(z2-y2) );
if ((a<=b) && (a<=c)) x=a;
else if ((b<=a) && (b<=c)) x=b;
else if ((c<=a) && (c<=b)) x=c;
if ((a>=b) && (a>=c)) y=a;
else if ((b>=a) && (b>=c)) y=b;
else if ((c>=a) && (c>=b)) y=c;
p = x/y;
cout<<"\n\n\nproporcja: "<<p;
cin.ignore();
getchar();
return 0;
}
Link do kodu:
http://pastebin.com/ncNuYJgC
Kod:
#include <cstdlib>
#include <cstdio>
#include <stdint.h>
#include <cstdarg>
#include <cmath>
struct TPoint
{
float p1, p2;
};
TPoint readPoint(char *fmt, ...)
{
va_list lista;
char buf[1024];
TPoint tmp;
va_start(lista, fmt);
vsprintf (buf, fmt, lista);
va_end(lista);
printf(buf);
printf("p1 = ");
scanf("%f", &tmp.p1);
printf("p2 = ");
scanf("%f", &tmp.p2);
printf("\n");
return tmp;
}
float length(float p1, float p2, float p3, float p4)
{
return sqrt((p1-p2)*(p1-p2) + (p3-p4)*(p3-p4));
}
int main()
{
TPoint point[3];
float len[3];
float x, y, z;
for (int i=0; i<3; i++)
point[i] = readPoint("%s %i %s", "Podaj polozenie", i, "punktu\n");
len[0] = length(point[0].p1, point[1].p1, point[0].p2, point[1].p2);
len[1] = length(point[0].p1, point[2].p1, point[0].p2, point[2].p2);
len[2] = length(point[2].p1, point[1].p1, point[2].p2, point[1].p2);
if ((len[0]<=len[1]) && (len[0]<=len[2]))
x=len[0];
else if ((len[1]<=len[0]) && (len[1]<=len[2]))
x=len[1];
else if ((len[2]<=len[0]) && (len[2]<=len[1]))
x=len[2];
if ((len[0]>=len[1]) && (len[0]>=len[2]))
y=len[0];
else if ((len[1]>=len[0]) && (len[1]>=len[2]))
y=len[1];
else if ((len[2]>=len[0]) && (len[2]>=len[1]))
y=len[2];
printf("Proporcja: %.5f", x/y);
}