pytanie o sposoby wprowadzania danych
Ostatnio zmodyfikowano 2008-12-27 18:45
lynx |
» 2008-12-24 23:17:27 Możesz sobie zrobić aby getline wczytywał do średnika (3 parametry), a getline samodzielnie będzie sobie wczytywał od ostatniego wczytwanego elementu. :) |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2008-12-25 14:20:50 nie sądziłem że to będzie takie proste :) tylko brakuje mi jednego elementu. jak sprawdzić ile razy został wprowadzony jakiś znak? |
|
lynx |
» 2008-12-25 14:39:56 Robisz coś takiego, teraz nie chce mi się myśleć jak to można zrobić lepiej, a więc zrobie to prosto i szybko. Kod: std::string tekst; std::cin >> tekst; int x = sizeof( tekst ); int ile = 0; for( int i = 0; i <= x; i++ ) { if( tekst[ i ] == ';' ) ile++; } std::cout << ile; To by było na tyle. :) Ale chciałem Ci jeszcze powiedzieć że robiąc getlinem i vectorem nie jest Ci potrzebna wiedza ile jest średników. :) Po prostu to co Ci będzie wychodzić z getline dopisujesz do końca Vector-a, a później już sobie robisz z nim co chcesz. |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2008-12-25 15:56:14 coś to niezbyt działa #include <iostream> #include <conio.h> int main() { std::string tekst; std::cin >> tekst; int x = sizeof( tekst ); int ile = 0; for( int i = 0; i <= x; i++ ) { if( tekst[ i ] == ';' ) { ile++; } } std::cout << ile; getch(); return 0; } wpisałem abc;123;ad;34; zwróciło wartość 1 warunek if( tekst[ i ] == ';' ) spełnił się tylko raz |
|
DejaVu |
» 2008-12-25 16:20:45 Ten zapis jest nieprawidłowy: sizeof( tekst ); Jeśli chcesz dostać długość tekstu musisz wpisać: tekst.length(); |
|
DeBugger |
» 2008-12-25 17:35:12 Dla Pietrzucha:
Funkcja SIZEOF zwraca wielkość klasy, a nie pojedyńczej zmiennej. |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2008-12-25 18:59:07 działa :) zaczynam pisać całą funkcję |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2008-12-25 19:34:54 podczas kompilacji wystąpił jeden mały błąd i nie wiem jak to naprawić :( #include <sstream> #include <conio.h> using namespace std;
int rozdzielaj( string a, char b, int c[] ) { int d = a.length(); int f = 0; for( int e = 0; e < d; e++ ) { if( a[ e ] == b ) f++; } string h[ f ]; string i = ""; int j = 0; for( int g = 0; g < d; g++ ) { if( a[ g ] != b ) i += a[ g ]; if( a[ g ] == b ) { h[ j ] = i; j++; } } stringstream l; for( int k = 0; k < f; k++ ) { l << h[ k ]; l >> c[ k ]; } return c; }
int main() { getch(); return 0; } In function `int rozdzielaj(std::string, char, int*)': error: invalid conversion from `int*' to `int' kompilator wskazuje na return c; PS ciało funkcji wygląda dość skomplikowanie przez te krótkie nazwy zmiennych :) |
|
1 « 2 » 3 4 |