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

[23] lekcja zadanie domowe

Ostatnio zmodyfikowano 2012-07-22 20:56
Autor Wiadomość
pendrakk14
Temat założony przez niniejszego użytkownika
[23] lekcja zadanie domowe
» 2012-07-22 19:49:29
Napisz program, który wczyta 10 wyrazów podanych przez użytkownika, a następnie wypisze je wszystkie w jednym wierszu, których kolejne wyrazy będą oddzielone od siebie przecinkami. Przykładowe dane wejściowe:
a b c d e f g h i j




Oczekiwany wynik wyjściowy:
a, b, c, d, e, f, g, h, i, j,
W zadaniu możesz użyć tylko dwóch zmiennych tekstowych.





nie wiem jak zabrac sie za to zadanie próbowałem już kilku metod ale żadna nie zadziałała np próbowałem zapisywac kolejne wyrazy do tablicy ale wtedy pojawiał sie problem z typem int i string

jest sposób żeby zrobic to zadanie nie uzywajac wyrazenia getline()? bo cin pobiera tylko jeden znak jak wiadomo i przez to nie moge do zmiennej string wprowadzić 10 wyrazów oddzielonych spacją




P-60875
DejaVu
» 2012-07-22 20:19:18
(...)  bo cin pobiera tylko jeden znak (...)
Nieprawda.
P-60881
pendrakk14
Temat założony przez niniejszego użytkownika
» 2012-07-22 20:20:44
no źle się wyraziłem chodzi mi o to że jeśli napotka spacje przy ciagu znakow to konczy
P-60882
DejaVu
» 2012-07-22 20:22:07
No to chyba dobrze? :) W końcu w zadaniu domowym mowa jest o 'wyrazach', a nie o 'zdaniach'.
P-60883
pendrakk14
Temat założony przez niniejszego użytkownika
» 2012-07-22 20:28:19
ok z twojej odpowiedzi juz wiem ze nie moge podac tych wyrazów od razu 10 naraz bo wtedy miało by to forme zdania :)

ale do rzeczy przykładowy kod

C/C++
int main()
{
    string wyrazy;
    cout << "Podaj wyraz: ";
    cin >> wyrazy;
    cout << "Podaj wyraz: ";
    cin >> wyrazy;
    cout << wyrazy;
    return 0;
}

wyswietla tylko drugi wyraz a pierwszy wyraz znika/wywala/kasuje nie wiem,wiem ze tak powinno byc

w ten sposob mozna to zrobic ale trzeba uzyc 10 zmiennych a ja moge dwoch
albo uzyc tablicy ale wtedy wywala niezgodnosc typow

próbowałem też petli ale wtedy wypisywało mi ostatni wyraz tylko
C/C++
string wyrazy;
string full;
for( int i = 0; i < 10; i++ )
{
    cout << "Podaj wyraz: ";
    cin >> wyrazy;
    full = wyrazy + ",";
}

krotko mowiac, prosze o wskazowke ;p
P-60884
DejaVu
» 2012-07-22 20:37:25
Użyj 2 zmiennych tekstowych.

/edit:
@up: drugie rozwiązanie jest prawie dobre, a prawie dlatego, że zamiast dopisywać na końcu nowy tekst do zmiennej to ustawiasz nowy (wywalając stary).

/edit2:
http://cpp0x.pl/kursy/Kurs-C++/Poziom-3 /Zmienne-przechowujace-tekst/349

Sekcja: Sklejanie tekstów.
P-60886
pendrakk14
Temat założony przez niniejszego użytkownika
» 2012-07-22 20:56:25
wszystko jasne

wyrażenie rozwiazujace wszystko: full += wyrazy + ",";

chyba potrzeba mi wiecej praktyki bo o takich prostych rzeczach zapominam no ale z drugiej strony dopiero zaczynam :)


ps. dzieki za pomoc :)
P-60890
« 1 »
  Strona 1 z 1