[C++]Pliki i wektor

Problemy dotyczące programowania.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
millena
Użytkownik
Posty: 124
Rejestracja: 2006-03-20, 14:37
Lokalizacja: /dev/null
Kontakt:

[C++]Pliki i wektor

Post autor: millena »

Mam ogólnie to pewnie trywialne pytanie, ale mi się zapomniało.

Jak zrobić, aby jedna kolumna z pliku który wczytuje była w jednym wektorze, a druga w drugim???

Plik:

Kod: Zaznacz cały

4 25
8 4
12 2
8 10
12 1
18 4
Pierwsza ma byc w wektorze np dlugosc a druga w wektorze ilosc :)))

Lub, wersja bardziej optymistyczna - tyle razy ile wynosi druga zmienna w kolumnie wpisywac w wektor V zmienna z pierwszej kolumny (caly czas ten sam wektor dla calego pliku).
[color=green]dd if=/home/millena of=/dev/null [/color]-> [color=olive]od kiedy kieruje backupy do /dev/null idą o wiele szybciej [/color] [img]http://mandrivauser.ovh.org/.image/fftoie.gif[/img]
Awatar użytkownika
freak117
Użytkownik
Posty: 250
Rejestracja: 2006-12-13, 21:26
Lokalizacja: z sieci

Re: [C++]Pliki i wektor

Post autor: freak117 »

Chodzi o coś takiego?

Kod: Zaznacz cały

#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main () {
        vector<int> dlugosc, ilosc;
        int a,b;
        ifstream f ("test.txt");
        if (f.is_open()) {
                for(;;){
                        f >> a >> b;
                        if(f.eof())
                                break;
                        dlugosc.push_back(a);
                        ilosc.push_back(b);
                }
                f.close();
        } else
                cout << "Nie można otworzyć pliku";
       return 0;
}
Wersji "optymistycznej" nie udało mi się zrozumieć - może dlatego, że jest późno :P
W3 rulez ;D
Awatar użytkownika
mina86
Moderator
Posty: 3343
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: [C++]Pliki i wektor

Post autor: mina86 »

„Pierwsza ma byc w wektorze np dlugosc a druga w wektorze ilosc :)))”
Chyba masz na myśli liczba?

PS. Można też skorzystać z rzutowania ostream na bool i destruktora ifstream:

Kod: Zaznacz cały

#include <iostream>
#include <fstream>
#include <vector>

int main () {
	std::vector<int> dlugosc, liczba;
	{
		std::ifstream f("test.txt");
		if (f) {
			int a, b;
			while (f >> a >> b) {
				dlugosc.push_back(a);
				liczba.push_back(b);
			}
		} else {
			std::cerr << "Nie można otworzyć pliku\n";
			return 1;
		}
	}
	return 0;
}
Choć szczerze, to nie testowałem.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Awatar użytkownika
millena
Użytkownik
Posty: 124
Rejestracja: 2006-03-20, 14:37
Lokalizacja: /dev/null
Kontakt:

Re: [C++]Pliki i wektor

Post autor: millena »

Dzięki chłopaki, już mam. Teraz walczę z algorytmem.
PS: Wie ktoś jak zrobić algorytm plecakowy, ale tak, aby upakowac kilka plecaków - bo zrobiłam wersje, ale dla jednego plecaka - a potrzebuje kilku o różniej pojemności???

Dla jednego plecaka mam zrobione - moze troche na chama i po lebkach, ale dziala:

http://pastebin.org/328159

Jakby ktos potrzebowal, pliki wej:

order2.txt

Kod: Zaznacz cały

C 1 2
C 3 6
C 6 7
C 8 9
C 10 2
C 16 5
C 19 1
out2.txt

Kod: Zaznacz cały

 C 10 100
N 10 111
Z 10 100
C 20 120
N 20 110
N 12 60
C 5 300 
[color=green]dd if=/home/millena of=/dev/null [/color]-> [color=olive]od kiedy kieruje backupy do /dev/null idą o wiele szybciej [/color] [img]http://mandrivauser.ovh.org/.image/fftoie.gif[/img]
Awatar użytkownika
millena
Użytkownik
Posty: 124
Rejestracja: 2006-03-20, 14:37
Lokalizacja: /dev/null
Kontakt:

Re: [C++]Pliki i wektor

Post autor: millena »

Teraz mam podobne pytanie, ja kiedyś :)

Potrzebuje wczytać dane z pliku do wektora:
520 1
300 3
200 2
etc
tak żeby liczby z pierwszej kolumny byly tyle razy w wektorze, ile wskazuje liczba z drugiej kolumny.
[color=green]dd if=/home/millena of=/dev/null [/color]-> [color=olive]od kiedy kieruje backupy do /dev/null idą o wiele szybciej [/color] [img]http://mandrivauser.ovh.org/.image/fftoie.gif[/img]
Awatar użytkownika
freak117
Użytkownik
Posty: 250
Rejestracja: 2006-12-13, 21:26
Lokalizacja: z sieci

Re: [C++]Pliki i wektor

Post autor: freak117 »

A z czym konkretnie nie możesz sobie poradzić?
W3 rulez ;D
Awatar użytkownika
mina86
Moderator
Posty: 3343
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: [C++]Pliki i wektor

Post autor: mina86 »

freak117, to już chyba nieaktualne.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Awatar użytkownika
millena
Użytkownik
Posty: 124
Rejestracja: 2006-03-20, 14:37
Lokalizacja: /dev/null
Kontakt:

Re: [C++]Pliki i wektor

Post autor: millena »

Już Mina mi pomógł - podziękował :D
[color=green]dd if=/home/millena of=/dev/null [/color]-> [color=olive]od kiedy kieruje backupy do /dev/null idą o wiele szybciej [/color] [img]http://mandrivauser.ovh.org/.image/fftoie.gif[/img]
ODPOWIEDZ