problem z długością stringu

damcios
Użytkownik
Użytkownik
Posty: 341
Rejestracja: 3 lis 2008, o 19:55
Płeć: Mężczyzna
Lokalizacja: poznań
Podziękował: 1 raz

problem z długością stringu

Post autor: damcios »

mam taki problem, gdy wczytuje z pliku linie tekstu w pętli for i przypisuje długość tej lini , to nie podaje prawdziwej długości i tak się dzieje tylko w pętli (name.length())
Awatar użytkownika
Zordon
Użytkownik
Użytkownik
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 910 razy

problem z długością stringu

Post autor: Zordon »

Daj kod
damcios
Użytkownik
Użytkownik
Posty: 341
Rejestracja: 3 lis 2008, o 19:55
Płeć: Mężczyzna
Lokalizacja: poznań
Podziękował: 1 raz

problem z długością stringu

Post autor: damcios »

ifstream plik("dfg.txt");
while (!plik.eof()){
for (int i=1 ;i<=3;++i){
getline (plik,name);
cout<<name<<endl;
for(int j=1;j<=name.length();++j){

t=name.length();}}
cout<<t[1]<<endl;
}
plik.close();-- 25 kwietnia 2011, 18:29 --tam dodałem jeszcze jedną pętle, ale bez niej też nie działa
Awatar użytkownika
Zordon
Użytkownik
Użytkownik
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 910 razy

problem z długością stringu

Post autor: Zordon »

po co jest ta petla z \(\displaystyle{ j}\)?
Pokaż cały kod, a dokładniej wszystkie deklaracje zmiennych ktore sie tu pojawiaja. Kod umieszczamy w znacznikach

Kod: Zaznacz cały

[code]
[/code]

edit: podejrzewam ze petli while tam nie powinno byc, ale nie wiem co to ma robic
damcios
Użytkownik
Użytkownik
Posty: 341
Rejestracja: 3 lis 2008, o 19:55
Płeć: Mężczyzna
Lokalizacja: poznań
Podziękował: 1 raz

problem z długością stringu

Post autor: damcios »

Kod: Zaznacz cały

string name;
int t[3];
ifstream plik("dfg.txt");
while (!plik.eof()){
for (int i=1 ;i<=3;++i){
getline (plik,name);
cout<<name<<endl;


t[i]=name.length();}
cout<<t[1]<<endl;
}
plik.close();
program pobiera linijki tekstu i ma zliczyć długość lininijki, musze jeszcze dorobić usuwanie liter parzystych.
Awatar użytkownika
Zordon
Użytkownik
Użytkownik
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 910 razy

problem z długością stringu

Post autor: Zordon »

Kod: Zaznacz cały

string name;
int t[100];
ifstream plik("dfg.txt");
int nr=0;
while (!plik.eof())
{
 getline (plik,name);
 cout<<name<<endl;
 t[nr]=name.length();
 cout<<t[nr]<<endl;
 nr++;
}
plik.close();
damcios
Użytkownik
Użytkownik
Posty: 341
Rejestracja: 3 lis 2008, o 19:55
Płeć: Mężczyzna
Lokalizacja: poznań
Podziękował: 1 raz

problem z długością stringu

Post autor: damcios »

no i jest źle , bo tak samo liczy jak mi , ze spacjami to liczy
Awatar użytkownika
Zordon
Użytkownik
Użytkownik
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 910 razy

problem z długością stringu

Post autor: Zordon »

Twoje się akurat wywala przez wychodzenie poza tablicę.
Ma liczyć bez spacji tak?
damcios
Użytkownik
Użytkownik
Posty: 341
Rejestracja: 3 lis 2008, o 19:55
Płeć: Mężczyzna
Lokalizacja: poznań
Podziękował: 1 raz

problem z długością stringu

Post autor: damcios »

długość długością ale jeszcze w tym programie musze zrobić usuwanie wyrazów parzystych i czy można przejść od getline w tej pętli for do operatora >> który dzieli wyrazy, czy można to tak używać??
bo wtedy sobie wprowadze nowy string i będe zapisywać do niego wyrazy z danej lini i wybierał parzyste wyrazy-- 25 kwietnia 2011, 20:33 --

Kod: Zaznacz cały

////////////////////////
string s;
int x;
if(t[nr]%2==0){
plik>>s;
x=s.length;
if(x%3==0){
cout<<s;}
else{
cout<<endl;}
można tak??
ODPOWIEDZ