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

Przepisywanie jednego stringa od tyłu, do drugiego

Ostatnio zmodyfikowano 2012-09-23 16:20
Autor Wiadomość
bingo009
Temat założony przez niniejszego użytkownika
Przepisywanie jednego stringa od tyłu, do drugiego
» 2012-09-23 12:17:56
Witam was serdecznie, staję przed problemem przepisania jednego stringa do drugiego. Przykładowo w jednym mamy napisz "siema", to w drugim ma być "ameis". Tylko, że coś mi nie działa, bo ciągle debbuger wywala błąd string subscript out of range. Oto kod:
C/C++
for( int i = temp.size(); i > 0; --i )
{
    output = output + temp[ i ];
}

jak zmienną i zainicjuję wartością temp.size() - 1 to wtedy działa, ale zjada ostatnią literę. O co tu biega?
P-65427
jsc
» 2012-09-23 12:52:23
Spróbuj:
C/C++
for( int i = temp.size() /* To zwraca rozmiar napisu */; i > 0; --i )
{
    output = output + temp[ i - 1 /* A to wskazuje prawdziwą pozycję litery, ale jest ona liczona 0 (litery w napisie są liczone jak obiekty w tablicy) */ ];
}
P-65428
pekfos
» 2012-09-23 12:57:06
C/C++
#include <iostream>
#include <string>
using std::cout;
using std::string;

int main()
{
    string str1 = "Ala ma kota, a kot ma pchly.";
    string str2( str1.rbegin(), str1.rend() );
    cout << str1 << "\n";
    cout << str2 << "\n";
}
P-65429
Paker
» 2012-09-23 16:20:33
C/C++
for( int i = temp.size() - 1; i >= 0; --i )
{
    output = output + temp[ i ];
}
P-65433
« 1 »
  Strona 1 z 1