Răspuns :
#include <iostream>
#include <fstream>
using namespace std;
int coliniar(int, int, int, int, int, int);
int main()
{
ifstream get("puncte.in");
ofstream out("puncte.out");
int x1, y1, x2, y2, x3, y3, n, s = 0, j = 1;
cout << "Introdu numarul de puncte:";
cin >> n;
int a[100];
for (int i = 1; i <= 2*n; i++)
{
get >> a[i];
}
while (j <= 2 * n)
{
x1 = a[j];
y1 = a[j + 1];
x2 = a[j + 2];
y2 = a[j + 3];
x3 = a[j + 4];
y3 = a[j + 5];
if (!coliniar(x1, y1, x2, y2, x3, y3))
s++;
j *=6+1;
}
out << s;
get.close();
out.close();
return 0;
}
int coliniar(int x1, int y1, int x2, int y2, int x3, int y3)
{
if ((x1*y2 + y1*x3 + y3*x2) - (y2*x3 + y3*x1 + x2*y1))
return 1;
else
return 0;
}
/*Am folosit formula cu determinant pentru a afla daca 3 puncte in plan sunt coliniare:
|x1 y1 1|
|x2 y2 1| =0
|x3 y3 1|
In program am implementat-o cu regula triunghiului.*/
#include <fstream>
using namespace std;
int coliniar(int, int, int, int, int, int);
int main()
{
ifstream get("puncte.in");
ofstream out("puncte.out");
int x1, y1, x2, y2, x3, y3, n, s = 0, j = 1;
cout << "Introdu numarul de puncte:";
cin >> n;
int a[100];
for (int i = 1; i <= 2*n; i++)
{
get >> a[i];
}
while (j <= 2 * n)
{
x1 = a[j];
y1 = a[j + 1];
x2 = a[j + 2];
y2 = a[j + 3];
x3 = a[j + 4];
y3 = a[j + 5];
if (!coliniar(x1, y1, x2, y2, x3, y3))
s++;
j *=6+1;
}
out << s;
get.close();
out.close();
return 0;
}
int coliniar(int x1, int y1, int x2, int y2, int x3, int y3)
{
if ((x1*y2 + y1*x3 + y3*x2) - (y2*x3 + y3*x1 + x2*y1))
return 1;
else
return 0;
}
/*Am folosit formula cu determinant pentru a afla daca 3 puncte in plan sunt coliniare:
|x1 y1 1|
|x2 y2 1| =0
|x3 y3 1|
In program am implementat-o cu regula triunghiului.*/

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Ne dorim ca informațiile furnizate să vă fi fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Revenirea dumneavoastră ne bucură, iar pentru acces rapid, adăugați-ne la favorite!