Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z wprowadzanym tekstem w konsoli, pytanie o miekkie znaki

Ostatnio zmodyfikowano 2020-06-14 23:10
Autor Wiadomość
skupi967
Temat założony przez niniejszego użytkownika
» 2020-06-14 20:16:45
Nie wiem, siedze juz kilka godzin i nic nie zrobilem, mecze sie z wyodrebnieniem zawartosci pomiedzy przecinkami



C/C++
string naszTekst = "elvis presly, 1479, 972, 162 52";

int a1 = 0, a2, a3;

size_t znalezionaPozycja = naszTekst.find( ',' );

if( znalezionaPozycja != string::npos )
{
    do
    {
        cout << "Znak zostal odnaleziony na pozycji " << znalezionaPozycja << endl;
        a2 = znalezionaPozycja - a1;
        cout << "test" << a2 << endl;
        znalezionaPozycja = naszTekst.find( ',', znalezionaPozycja + 1 );
        a3 = znalezionaPozycja - a2;
        cout << "Roznica: " << a3 << endl;
    } while( znalezionaPozycja != string::npos );
   
}

I na samym koncu
Roznica
 wychodzi jakas ujemna. Nie umiem w ogole podzielic tego na te stringi tak jak Ty pisales...

Chce obliczac roznice pomiedzy przecinkami zeby wiedziec ile znakow ma zapisywac do stringa przy uzyciu
asd5 = naszTekst.substr( tutaj poczatek i to jest latwe, tutaj roznice pomiedzy przecinkami );

No ale roznica mi cos na koncu ujemna wychodzi
P-177126
pekfos
» 2020-06-14 20:29:12
Ostatni wynik wyszukiwania nie jest poprawną liczbą do obliczeń.
P-177127
skupi967
Temat założony przez niniejszego użytkownika
» 2020-06-14 21:31:05
Zrobilem to ze tak powiem na 'sztywno'... nie chcialem tak robic od poczatku i chcialem to jakos bardziej 'zautomatyzowac' no ale jak nie umialem to zrobilem po prostu zeby dzialalo


C/C++
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string str1, str2;
    string naszTekst = "elvis presly, 1479, 972, 162, 52";
    int tab[ 4 ], i = 0;
   
    size_t znalezionaPozycja = naszTekst.find( ',' );
   
    if( znalezionaPozycja != string::npos )
    {
        do
        {
            tab[ i ] = znalezionaPozycja;
            i++;
            znalezionaPozycja = naszTekst.find( ',', znalezionaPozycja + 1 );
        } while( znalezionaPozycja != string::npos );
       
    }
   
    str1 = naszTekst.substr( 0, tab[ 0 ] );
    str2 = naszTekst.substr( tab[ 3 ] + 2 );
   
    cout << endl << endl << str1 << endl << str2 << endl;
   
    return 0;
}

O to Ci chodzilo? Mnie wlasciwie interesuje tekst do pierwszego przecinka i to co jest za ostatnim, reszta nie.
Jesli tak to pytanie w jaki sposob mialbym to segregowac majac tak na prawde dwa osobne stringi?:P. Jeden z tekstem drugi z liczba
P-177130
pekfos
» 2020-06-14 21:54:18
chcialbym sortowac wyniki wlasnie na podstawie tej liczby za 4 przecinkiem od najwiekszej do najmniejszej
Posortuj wektor struktur.
» Kurs C++ » Poziom 5Struktury lekcja
» Kurs C++ » Poziom 5Kontener std::vector<> lekcja
» Kurs C++ » Poziom 5Wprowadzenie do standardowych algorytmów lekcja
P-177131
skupi967
Temat założony przez niniejszego użytkownika
» 2020-06-14 23:10:23
Dobra to na nic. Najwyzej obejdzie sie bez sortowania..
P-177133
1 2 « 3 »
Poprzednia strona Strona 3 z 3