michal11 |
» 2017-01-16 21:53:29 Ja bym użył stringstream do tego, wczytywanie całej linii do stirnga i separacja istringstreamem iss >> colon >> number; w jakiejś pętli. |
|
mokrowski |
» 2017-01-16 22:23:58 C++14 #include <vector> #include <fstream> #include <string> #include <sstream> #include <iterator> #include <iostream> #include <memory> #include <cstdlib> #include <algorithm>
using namespace std;
// Kontener na dane. using data_t = vector<vector<string>>;
// Wczytanie danych unique_ptr<data_t> read_data_from_file(ifstream& file) { auto data = make_unique<data_t>(); string line; while(getline(file, line)) { istringstream is(line); string field; auto row = data_t::value_type(); while(getline(is, field, ':')) { row.push_back(field); } data->push_back(row); } return data; }
// Wyświetlenie danych ostream& operator<<(ostream& ostr, const data_t& data) { for(const auto& row : data) { ostr << "Row: "; copy(row.cbegin(), row.cend() - 1, ostream_iterator<string>(ostr, " ")); ostr << row.back() << endl; } return ostr; }
int main() { ifstream file("dane.txt");
if(not file) { cerr << "Błąd odtwarcia pliku\n"; exit(EXIT_FAILURE); }
auto data = read_data_from_file(file);
cout << *data;
return EXIT_SUCCESS; }
|
|
r00t Temat założony przez niniejszego użytkownika |
» 2017-01-17 08:28:09 ok - dam znać jak wyszło jak wrócę do domu i podziałam z tematem. Dzieki chłopaki |
|
r00t Temat założony przez niniejszego użytkownika |
» 2017-01-17 22:40:50 test |
|
r00t Temat założony przez niniejszego użytkownika |
» 2017-01-17 22:41:28 Panowie, zrobiłem troche bardzo na około część tego programu, ponieważ mam deadline, a tym sposobem było mi latwiej bo go ogarniam. Mogłem próbować za pomocą strinstreamow i vektorow ale musialbym sporo na ten temat poczytać i pewnie jeszcze zmienić kompilator (uzywam aktualnie C++ buildera.)
Aktualnie schemat wygląda tak :
Czytam linie z pliku, wrzucam ją do stringa, i string dziele na poszczegolne stringi za pomocą substr, następnie te substr konwertuje do INTA, i wrzucam do tablicy dwuwymiarowej - i to jest zamknięte w pętli - wiersze zwiększają sie poprzez inkrementacje, a kolumny dodawane są z placa w pętli.
Nie krzyczcie na mnie że kod strasznie chaotyczny, ponieważ naprawdę zależy mi na czasie, żeby wyrobić się z terminem na studia (zostawiłem wszystko na ostatnią chwilę :( )
Jeszcze kod nie dokończony jutro go dokończę, może jeszcze wpadne na lepszy pomysł. Po wrzuceniu wszystkich danych do tablicy chcę tę tablicę połączyć jeszcze z inną jednowymiarową i wrzucić to na wykres (za pomocą f-nkcji lineTo) A na samym końcu jeszcze dodać funkcjonalność, że gdy najade na dany pixel na wykresie pokaże mi wszystkie dane.
- macie pomysł jak to zrobić :D ? - może jeszcze w między czasie dacie mi lepsze rozwiązanie, jeżeli dla kogoś to pikuś ...
Poniżej wrzucam kawałek pliku .txt :
:2015:06:01:00:00:t1:30.88:t2:48.38:t3:85.00:t4:85.00:p:17:em:480:e1:6:e2:0:e3:481:e4:475:: :2015:06:01:00:10:t1:29.25:t2:48.00:t3:85.00:t4:85.00:p:17:em:480:e1:4:e2:0:e3:478:e4:471:: :2015:06:01:00:20:t1:27.69:t2:48.13:t3:85.00:t4:85.00:p:17:em:480:e1:4:e2:0:e3:478:e4:477::
|
|
r00t Temat założony przez niniejszego użytkownika |
» 2017-01-17 22:46:09 Chciaóbym Wam wrzucić kod, ale wywala mi błąd :
Blad 400 opis : Bad request
Sproboj pozniej |
|
r00t Temat założony przez niniejszego użytkownika |
» 2017-01-17 22:47:04 pierwsza częsc kodu : #include <vcl.h> #include <iostream> #include <fstream> #include <cstdio> #include <cstdlib> #include <windows.h> #include <string> #include <algorithm> #include <sstream> #include <memory> #include <vector> #pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init) #pragma resource "*.dfm" using namespace std;
string naglowki[ 14 ] = { "rok", "miesiac", "dzien", "godzina", "temp1", "temp2", "temp3", "temp4", "p", "em", "e1", "e2", "e3", "e4" };
stringstream dane_do; string linia; int i; int j; int dane[ 1 ][ 1 ]; int l = 1; int main()
{ }
|
|
r00t Temat założony przez niniejszego użytkownika |
» 2017-01-17 22:54:44 2 czesc kodu : TForm1 * Form1;
__fastcall TForm1::TForm1( TComponent * Owner ) : TForm( Owner ) { }
void __fastcall TForm1::Button1Click( TObject * Sender ) { fstream plik; plik.open( "Dane.txt", ios::in ); if( plik.good() == false ) { ShowMessage( "Bład otwarcia pliku" ); }; fstream plik2; plik2.open( "dane2.txt", ios::out | ios::app ); while( getline( plik, linia ) ) {
W PETLI ZACZYTYWANIE, SUBSTR I KONWERSJA I LADOWANIE DO TABLICY - NIE WRZUCE BO WYWALA MI BLAD. W sumie to możecie na mnie krzyczeć, chętnie wysłucham Waszej krytyki, przyda się jeżeli chcę być lepszym programistą. Pozdrawiam i czekam na Wasze odpowiedzi ! :D |
|
1 « 2 » 3 4 5 6 |