Anonymní profil Juraj – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Juraj – Programujte.comAnonymní profil Juraj – Programujte.com

 

Příspěvky odeslané z IP adresy 95.102.197.–

Juraj
C / C++ › vector vo vector
14. 5. 2014   #190152

dakujem , funguje to

Juraj
C / C++ › vector vo vector
13. 5. 2014   #190144

Tak mám toto  


#include "stdafx.h"
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <fstream>
using namespace std;


struct OSOBA {
	string meno;
	string priezvisko;
	vector<double> body;
};

int _tmain(int argc, _TCHAR* argv[])
{
	vector<double> body;
	ifstream ifsSubor;
	ifsSubor.open("vstup.txt");
	string sRiadok;
	vector<OSOBA> osoby;
	double bod;
	OSOBA o;
	stringstream ss;

while(getline(ifsSubor, sRiadok))
	{
		ss<<sRiadok;
		ss >> o.meno;
		ss >> o.priezvisko;

		while (ss >> bod) 
		{
			o.body.push_back(bod);

		}
	osoby.push_back(o);
	}

     int i=0;
	vector<OSOBA>::iterator it;

for(it = osoby.begin(); it != osoby.end(); ++it)
	{
		cout.width(5);
		cout <<left << (*it).priezvisko <<"\t" << (*it).meno; 

		for (int i=0; i<body.size(); i++)
			cout << body[i] << ", ";
		cout<<endl;
	}
cout<<endl;
		return 0;
}

a vypíše do konzoly toto  

Mrkvicka Jozef
Mrkvicka Jozef
Mrkvicka Jozef
Mrkvicka Jozef
Mrkvicka Jozef
Juraj
C / C++ › vector vo vector
13. 5. 2014   #190116

Nefunguje to, nevypíše nič, ani len press enter to countinue

Juraj
C / C++ › vector vo vector
13. 5. 2014   #190111

wtf, kde je to ,,toto"

Juraj
C / C++ › vector vo vector
13. 5. 2014   #190107

No a tu je ďalšia verzia stále my to nejde :(

#include "stdafx.h"
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <fstream>
using namespace std;


struct OSOBA {
	string meno;
	string priezvisko;
	vector<double> body;
};

int _tmain(int argc, _TCHAR* argv[])
{
	vector<double> body;
	ifstream ifsSubor;
	ifsSubor.open("vstup.txt");
	string sRiadok;
	vector<OSOBA> osoby;
	double bod;
	OSOBA o;
	while(! ifsSubor.eof())
	{
		
		getline(ifsSubor,sRiadok);
	    istringstream istrRiadok(sRiadok);
		istrRiadok>> o.meno;
		istrRiadok>> o.priezvisko;
		istrRiadok>> bod;
		o.body.push_back(bod);

	osoby.push_back(o);
	}

     int i=0;
	vector<OSOBA>::iterator it;

	for(it = osoby.begin(); it != osoby.end(); ++it)
	{
		cout.width(5);
	cout <<left << (*it).priezvisko <<"\t" << (*it).meno<<"\t"<<endl; 
	}

	for (int i=0; i<body.size(); i++)
   cout << body[i] << ", ";

		return 0;
}
Juraj
C / C++ › vector vo vector
13. 5. 2014   #190105

   


#include "stdafx.h"
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <fstream>
using namespace std;


struct OSOBA {
	string meno;
	string priezvisko;
	vector<double> body;
};

int _tmain(int argc, _TCHAR* argv[])
{
	ifstream ifsSubor;
	ifsSubor.open("vstup.txt");
	string sRiadok;
	vector<OSOBA> osoby;
	double bod;
	OSOBA o;
	while(! ifsSubor.eof())
	{
		getline(ifsSubor,sRiadok);
	    istringstream istrRiadok(sRiadok);
		istrRiadok>> o.meno;
		istrRiadok>> o.priezvisko;
		istrRiadok>> bod;
		o.body.push_back(bod);
		
	osoby.push_back(o);
	
int i=0;
	vector<OSOBA>::iterator it;

	for(it = osoby.begin(); it != osoby.end(); ++it)
	{
		cout.width(15);
	cout <<left << (*it).priezvisko <<"\t" << (*it).meno<<"\t" << (*it).body<<endl; 

	}
		return 0;

	
	}
}

toto som skúšal a píše to chybu pri tom << (*it).body   

Juraj
C / C++ › vector vo vector
13. 5. 2014   #190104

 tak snaižil som sa to nejako...aby my to načítalo z textového suboru ale neviem presne ako by mala vyzerať tá syntax toho pre načítanie aby to načítalo vypísalo meno, priezvisko a potom ten vector body..

struct OSOBA {
	string meno;
	string priezvisko;
	vector<double> body;
};

int _tmain(int argc, _TCHAR* argv[])
{
	ifstream ifsSubor;
	ifsSubor.open("vstup.txt");
	string sRiadok;
	vector<OSOBA> osoby;
	OSOBA o;
	while(! ifsSubor.eof())
	{
		getline(ifsSubor,sRiadok);
	    istringstream istrRiadok(sRiadok);
	if	((istrRiadok>> o.meno)&&
		(istrRiadok>>o.priezvisko)&&
		(istrRiadok>>o.body)&&
		(istrRiadok>>o.body.push_back(bod)));
	{
	osoby.push_back(o);
	}
int i=0;
	vector<OSOBA>::iterator it;

	for(it = osoby.begin(); it != osoby.end(); ++it)
	{
		cout.width(15);
	cout <<left << (*it).priezvisko <<"\t" << (*it).meno;
	}
		return 0;
}

Poprosím o radu

Juraj
C / C++ › vector vo vector
12. 5. 2014   #190087

Ahoj, prosím o radu. chcem vytvoriť program ktorý načíta zo suboru meno, priezvisko a neobmedzený počet bodov.

format suboru .txt je takýto :

Janko Mrkvicka 1.1 0.7 1.2 0.6 0.5

Chcem toto načítať do vektoru, Problém je že neviem ako načítať tie body. vytvoril som si štruktúru OSOBA,

Struct OSOBA {

string meno

string priezvisko

?? no a tu nastáva problém kedže nechcem to robit tak že dám double bod1, double bod2....kedže neviem kolko ich je je to velmi nepraktické

}

potom inicializujem vector<OSOBA> osoba načítam si  osoba.meno,osoba.priezvisko no a dalej neviem.

chcel som použit další vector na tie body ale neviem ako to spraviť niečo ako

Struct OSOBA {

string meno

string priezvisko

vector(double) body

}

Dakujem za pomoc

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý