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 } }