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

cout nie wyświetla stringa

Ostatnio zmodyfikowano 2017-04-27 13:59
Autor Wiadomość
kistel66
Temat założony przez niniejszego użytkownika
cout nie wyświetla stringa
» 2017-04-27 12:38:27
Problem jest taki, że kompilator jednego stringa wyświetli, a drugiego już nie chce, mimo że niczym się nie różnią.
C/C++
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string wyraz;
    string pomocnicza;
   
    cin >> wyraz;
   
    for( int i = wyraz.size() - 1, j = 0; i >= 0; i--, j++ ) {
        pomocnicza[ j ] = wyraz[ i ];
        //      cout << pomocnicza[j]; //wyswietla
    }
   
    cout << pomocnicza << endl; // nie wysiwetla, ale do nowej lini przechodzi
    //cout << pomocnicza[0] << endl; //takie cos juz wyswietli
    cout << wyraz << endl; //wyswietla
   
   
   
    return 0;
}
P-160544
Anim
» 2017-04-27 13:38:02
Wystarczy zrobić:

C/C++
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string wyraz;
    string pomocnicza;
   
    cin >> wyraz;
   
    for( int i = wyraz.length() - 1, j = 0; i >= 0; i--, j++ ) {
        pomocnicza.push_back( wyraz[ i ] );
    }
   
    cout << pomocnicza << " ";
   
   
    return 0;
}

ale swoją drogą to nie mam pojęcia dlaczego przypisanie elementu do elementu nie działa :) po prostu w std nie wolno przypisywać poprzez nawiasy kwadratowe :)
P-160549
1aam2am1
» 2017-04-27 13:55:09

reference       operator[]( size_type pos );
(1)
const_reference operator[]( size_type pos ) const;
(2)
Returns a reference to the character at specified location pos. No bounds checking is performed. If pos > size(), the behavior is undefined.
P-160551
Anim
» 2017-04-27 13:59:05
@kistel66 No to kolega powyżej już wszystko wyjaśnił :)
P-160552
« 1 »
  Strona 1 z 1