Petla - każdy z każdym
Ostatnio zmodyfikowano 2017-12-14 22:40
grytyn Temat założony przez niniejszego użytkownika |
Petla - każdy z każdym » 2017-12-14 22:19:08 Witam. Pisze program który ma za zadanie odczytać punkty z pliku, obliczyć odległości miedzy nimi i posortować rosnąco . Punkty muszę sprawdzić "każdy z każdym", i tutaj mam problem. umiem sprawdzić pkt a z pkt b, pkt b z pkt c , ale jak a z c ... Mój program nie zna dokładnej liczby pkt muszę napisać " uniwersalna " pętle pasującą do tego zdarzenia. Oto kod : #include <iostream> #include <fstream> #include <string>
using namespace std;
int * x = new int[]; int * y = new int[];
int licznik = 0; float wynik[ 100 ]; string znak[ 100 ];
bool kontrolaPliku( string nazwa_pliku ); float liczenie_odleglosci_pkt( int x[], int y[], string nazwa[] ); void sortowanie_i_zapis( float tab[], int size );
int main() { if( !kontrolaPliku( "punkty.txt" ) ) cout << " Nie znaleziono pliku " << endl; liczenie_odleglosci_pkt( x, y, znak ); sortowanie_i_zapis( wynik, licznik ); getchar(); return 0; }
bool kontrolaPliku( string nazwa_pliku ) { ifstream plik; plik.open( nazwa_pliku.c_str() ); if( !plik.good() ) return false; while( !plik.eof() ) { plik >> znak[ licznik ] >> x[ licznik ] >> y[ licznik ]; licznik++; } cout << "Dane pobrane z pliku " << endl; for( int i = 0; i != licznik; i++ ) cout << znak[ i ] << " " << x[ i ] << " " << y[ i ] << endl; return true; }
float liczenie_odleglosci_pkt( int x[], int y[], string nazwa[] ) { int b = 0; for( int i = 0; i != licznik - 1; i++ ) { if( b == i ) { wynik[ i ] = sqrt(( x[ i + 1 ] - x[ i ] ) *( x[ i + 1 ] - x[ i ] ) +( y[ i + 1 ] - y[ i ] ) *( y[ i + 1 ] - y[ i ] ) ); cout << "odleglosc miedzy = " << nazwa[ i ] << " " << nazwa[ i + 1 ] << wynik[ i ]; cout << "if" << endl; } else { wynik[ i ] = sqrt(( x[ i + 1 ] - x[ i ] ) *( x[ i + 1 ] - x[ i ] ) +( y[ i + 1 ] - y[ i ] ) *( y[ i + 1 ] - y[ i ] ) ); cout << "odleglosc miedzy = " << nazwa[ b ] << " " << nazwa[ i ] << wynik[ i ]; } b++; } return 0; }
[/i] |
|
grytyn Temat założony przez niniejszego użytkownika |
» 2017-12-14 22:40:48 zrobione :) |
|
« 1 » |