Wczytywanie na liste z plkiu

0

Hej mam spory problem z wczytaniem danych z pliku do listy, mianowicie zastanawiam sie jak wczytac dane, na liste biegunowa, żeby później moża było w prosty sposób przekształcić na liste kartezjanska... (Program ma zmieniac liste biegunowa na kartezjanska) do tego potrzebuje również funkcji. Mój Plik i Opis plku i dotychczasowy szkielet:

0

jakieś rady?

3

Tak, glowne wskazowki...

  1. napisz czego oczekujesz. Jezeli gotowca, to idz do dzialu ogloszenia drobne, jezeli chcesz pomocy to czytaj dalej
  2. Napisz dokladnie przypadek ktorego nie rozumiesz (watpie by komus sie chcialo przedzierac przez spefyfikacje i projekt bo masz z czyms tam problem)
  3. Pokaz co juz napisales (lub do jakich wnioskow doszedles... ogolnie jakas prace wlozona przez Ciebie)
0

w pliku log opis pliku znajduje się sporo próbek lasera potrzebuje wyłuskać granice dolną granice górną zmiane kąta i nie wiem jak to zrobić.
Myślałem żeby dać jakąś stała np "laser 00" i dopiero jak to napotka to ma wczytywać dane..

0

Czyli nie chcesz zamienić listy. Chcesz zamienić jej elementy. Do tego polecam std::transform. Je​śli chodzi o wczytywanie to po prostu zignoruj kilka pierwszych linii, jeśli format pliku jest bez zmian to jest to ok rozwiązanie.

0

Przepraszam, ale nie mam pojecia co to stf transform. Mogłbyś przybliżyc? Format pliku txt

0

http://en.cppreference.com/w/cpp/algorithm/transform

Ale pierw musisz wczytać dane. Zamiast martwić się o transformację zacznij od stworzenia struktury Biegun i wczytania do wektora wszystkich biegunów.

0

hmm, wydaje mi się że oczekują ode mnie abym samodzielnie napisał funkcje która z tej jednej listy wygneruje tą drugą

0

Zupełnie nie rozumiem takiego zakazywania korzystania z biblioteki standardowej. Szczególnie jeśli implementacja danej funkcjonalności nie jest przedmiotem zadania. Jesteś przekonany, że nie możesz? Na jakiej podstawie?

W każdym razie, zostaw na razie transformację, zabierz się za poprawne wczytywanie. Będziesz miał wczytany wektor, będziesz się zastanawiał.

0

także co do wczytywania, mój pomysł ze stringiem się sprawdzi?

2

Ciężko z tego pdfa stwierdzić gdzie tam są nowe linie. Jeśli tam są trzy linie, to idziesz w dobrym kierunku. Regex mógłby być wygodny, ale to trochę overkill.

0

Załóżmy że mam już dane z pliku. Potrzebuje funkcje które bedzie zamieniała te dane. Ma to wygladac tak ze x=długosccos(kąt+zmiana kąta) y =długoscsin(kąt+zmiana kata) , jakich bibliotek potrzebuje by to policzyc? i jak to zapisac?

0

Potrzebujesz zwykły <cmath>
Jeżeli nie wiesz jak zapisać to odsyłam do jakiegoś kursu z podstaw.

0

a mogłym prosic o rady co powinnna zawierac struktura mojej listy biegunowej. Oecnie mam:

struct Lbiegunowa{
double zakresd;
double zakresg;
double odleglosc;
double kat;

Lbiegunowa *next;

};

bo zastanawiam sie jak to mądrze wczytać bym miał później to łatwo przekształcić i również wyswietlic

0

zakresd-zakres dolny ,zakresg- zakres gorny, kąt to zmiana kąta.

2

Dlaczgo nie zdefiniujesz struktury Biegun, tylko na siłę łamiesz SRP i mieszasz ją z listą jednokierunkową? (Fatalna struktura danych do większości zastosowań, btw).

0

struct Biegun{

    double odleglosc;
    double kat;


    Biegun *next;
};

Tak lepiej?

0

Nadal jest to element listy. Dlaczego Biegun musi być elementem listy?

0

Ponieważ jest to wskaznik na nastepna komórke?

0

A czym jest następna komórka bieguna?

0

Nastepna komorka zawiera kolejna odleglosc z pliku i kąt który się rowna staremu kątowi +zmianie kąta

1

Staram się Ciebie naprowadzić, ale widzę, że słaby ze mnie nauczyciel. Jeśli następny Biegun jest elementem Bieguna, to następny człowiek jest elementem człowieka (gdybyś miał wczytać dane dot. człowieka z pliku)?

0

nastepna komórka zawiera kolejną odleglośc i kąt +zmiana kąta.

0

chyba nie wiem do czego dązysz. Kazdy element nastepny ma te samy co do typu wartosci jak poprzedni.

1

Element następny nie powinien być powiązany z elementem obecnym na poziomie definicji struktury.

0

w jaki sposob jest powiazany w tej strukturze?
struct Biegun{

    double odleglosc;
    double kat;


    Biegun *next;
};
0

warto dodac tam nr_próbki bo plik zawiera taka informacje

2
struct Biegun{
       
        double odleglosc;
        double kat;


        Biegun *next; // <-- tutaj
    };
0

a w jaki mam sposob utworzyc bez tego liste?

1 użytkowników online, w tym zalogowanych: 0, gości: 1