Cześć, to mój pierwszy post na forum więc proszę o wyrozumiałość, jeżeli wstawię tutaj coś nie tak jak trzeba :) od jakiegoś czasu staram się rozwiązywać zadania na polskim spoj. Aż wreszcie natrafiłem na problem, z którym nie potrafię sobie poradzić. Mój program wywala dziwne błędy, chociaż sprawdzałem już kod krok po kroku na wszystkie wymyślone przeze mnie sposoby. Oto polecenie:
Najpierw zostaje podana liczba t (1 < t ≤ 100) wykonywanych testów. W każdej następnej linii podawane są współrzędne trzech punktów będącymi liczbami całkowitymi z przedziału [-1000, 1000]. Kolejne współrzędne oddzielone są znakiem tabulacji.
Output
Jako wydruk otrzymujemy słowo TAK, gdy podane trzy punkty są współliniowe albo słowo NIE, gdy nie są współliniowe. Każda odpowiedź zapisywana jest w osobnej linii.
Example
Input: Output:
2
1 2 3 4 5 6 TAK
1 3 1 4 1 -3 TAK
#include <iostream>
using namespace std;
int tablica[5];
int t,a,b,c;
int main()
{
cin>>t;
for(int i=1; i<=t; i++) // petla do ilosci testow
{
for(int i=0; i<=5; i++) //petla wpisujaca zmienne do tablicy
{
cin>>tablica[i];
}
a=(tablica[3]-tablica[1])/(tablica[2]-tablica[0]);//b od a
b=(tablica[5]-tablica[3])/(tablica[4]-tablica[2]);//c od b
c=(tablica[5]-tablica[1])/(tablica[4]-tablica[0]);//c od a
/*for(int i=0; i<=5; i++)
{
tablica[i]=0;
} petla do zerowania tablicy, nie wiem czy jest potrzebna*/
if((a==c) && (b==c))
{
cout<<"TAK\n";
}else
{
cout<<"NIE\n";
}
cout<<"\na= "<<a<<"\nb= "<<b<<"\nc= "<<c<<endl; //sprawdzanie wynikow
}
}