Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <math.h>
- using namespace std;
- float dlugosc(float x1, float y1, float x2, float y2) {
- return sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
- }
- float doPotegi(float x, int n = 2) {
- float wynik = x;
- for(int i = 1; i < n; i++) {
- wynik *= x;
- }
- return wynik;
- }
- int main()
- {
- ifstream punktytxt("punkty.txt");
- ofstream zadanie4("zadanie4.txt");
- int N;
- punktytxt >> N;
- int punkty[N][2];
- for(int i = 0; i < N; i++) {
- punktytxt >> punkty[i][0] >> punkty[i][1];
- }
- for(int i = 0; i < N; i++) {
- cout << "(" << punkty[i][0] << ", " << punkty[i][1] << ")" << endl;
- }
- float a[2], b[2], c[2];
- float dlugoscAB, dlugoscAC, dlugoscBC;
- int licz = 0;
- float doObliczenia[3]; // 0 - dluzszy bok, 1 i 2 - krotsze
- for(int i = 0; i < N; i++) {
- a[0] = punkty[i][0];
- a[1] = punkty[i][1];
- for(int j = 0; j < N; j++) {
- if(j < i || i == j)
- continue;
- b[0] = punkty[j][0];
- b[1] = punkty[j][1];
- for(int k = 0; k < N; k++) {
- if(k < j || j == k)
- continue;
- c[0] = punkty[k][0];
- c[1] = punkty[k][1];
- dlugoscAB = dlugosc(a[0], a[1], b[0], b[1]);
- dlugoscAC = dlugosc(a[0], a[1], c[0], c[1]);
- dlugoscBC = dlugosc(b[0], b[1], c[0], c[1]);
- if(dlugoscAB >= dlugoscAC && dlugoscAB >= dlugoscBC) {
- doObliczenia[0] = dlugoscAB;
- doObliczenia[1] = dlugoscAC;
- doObliczenia[2] = dlugoscBC;
- } else if(dlugoscAC >= dlugoscAB && dlugoscAC >= dlugoscBC) {
- doObliczenia[0] = dlugoscAC;
- doObliczenia[1] = dlugoscAB;
- doObliczenia[2] = dlugoscBC;
- } else if(dlugoscBC >= dlugoscAB && dlugoscBC >= dlugoscAC) {
- doObliczenia[0] = dlugoscBC;
- doObliczenia[1] = dlugoscAC;
- doObliczenia[2] = dlugoscAB;
- }
- if(round(doPotegi(doObliczenia[0])) == round(doPotegi(doObliczenia[1])) + round(doPotegi(doObliczenia[2]))) {
- licz++;
- //zadanie4 << "(" << a[0] << "," << a[1] << ")";
- //zadanie4 << "(" << b[0] << "," << b[1] << ")";
- //zadanie4 << "(" << c[0] << "," << c[1] << ")";
- zadanie4 << i << " " << j << " " << k;
- zadanie4 << endl;
- }
- }
- }
- }
- punktytxt.close();
- zadanie4.close();
- cout << "Trojkatow: " << licz << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement