Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-06-02 21:13:27

  pasqdnik - Pijak ;-P

pasqdnik
Pijak ;-P
Skąd: Wrocław
Zarejestrowany: 2006-03-06

Początki z C++

Po przygodach z pascalem i w32asm(kilka lat temu) postanowiłem się w końcu zabrać za C++. Znalazłem jakiś kurs a w nim zadanko:
"Wczytaj napis i sprawdz czy jest on palindromem. W przypadku gdy napis jest palindromem wypisz TAK, jesli nie jest wypisz NIE."
Wydaję się proste ;) Wypociłem takie cuś:

Kod:

#include <iostream>

using namespace std;

int main()
{
        string wyraz1;
        string wyraz2;

        cout <<"Podaj wyrazenie :";
        cin >> wyraz1;

        int n=wyraz1.length()-1;

        for (int i=0; i<=n;i++)
        {
        wyraz2[i]=wyraz1[n-i];
        }
        if (wyraz2!=wyraz1) cout <<"Nie";
          else cout <<"Tak";

return 0;
}

Czy ktoś może mnie oświecić dlaczego wyraz2 po wyjściu z pętli jest pusty ? Generalnie - dlaczego to nie działa ? ;)


Dum spiro - spero ...
pozdrawiam, pasqdnik

Offline

 

#2  2007-06-02 21:49:25

  mi5tic - Członek DUG

mi5tic
Członek DUG
Skąd: Wrocław
Zarejestrowany: 2006-08-24

Re: Początki z C++

Kod:

#include <iostream>
#include <string>

using namespace std;

int main()
{
        string wyraz1;
        string wyraz2;

        cout <<"Podaj wyrazenie :";
        cin >> wyraz1;

        int n=wyraz1.length();        
        --n;
        for (int i=0; i<=n;i++)
        {
        wyraz2 += wyraz1[n-i];
        }
        if (wyraz1.compare(wyraz2) != 0) cout <<"Nie";
          else cout <<"Tak";
        

return 0;
}

Ja tam raczej tylko w C kodzę...w C++ to może z 3h siedziałem...więc ręki nie dam uciąć, że jest to idealnie napisane ;)

--n bo ostatni znak to znak końca linii (przy wczytaniu) ... oprócz tego nie wiem czy można porównywać stringi używając = ... wiem, że jest do tego metoda w klasie string .. więc jej użyłem...zrobiłem przez dodawanie kolejnych znaków do wyraz2 .. dlaczego? po prostu kombinowałem (jak wspomniałem C++ słabo znak..prawie w ogóle..więc tylko kombinować mogłem)

pzdr.


Lubię słowo indolencja.
Dzięki niemu moje lenistwo wydaje się czymś niezwykle wyrafinowanym.

- Bern Williams

Offline

 

#3  2007-06-02 22:20:47

  pasqdnik - Pijak ;-P

pasqdnik
Pijak ;-P
Skąd: Wrocław
Zarejestrowany: 2006-03-06

Re: Początki z C++

Podziękował :) Duuuużo nauki przede mną, jak widzę.


Dum spiro - spero ...
pozdrawiam, pasqdnik

Offline

 

#4  2007-06-02 22:42:10

  mi5tic - Członek DUG

mi5tic
Członek DUG
Skąd: Wrocław
Zarejestrowany: 2006-08-24

Re: Początki z C++

Jeśli chodzi o ++ to polecam http://www.cplusplus.com/doc/tutorial/ ... tzn. proponuję spróbować..jeśli przypadnie Ci do gustu..to IMO nie ma nic lepszego :)
Wszystko zwięźle opisane..bez problemu można znaleźć potrzebne funkcje..etc.

pzdr.


Lubię słowo indolencja.
Dzięki niemu moje lenistwo wydaje się czymś niezwykle wyrafinowanym.

- Bern Williams

Offline

 

#5  2007-06-04 13:17:05

  chyl-o - Członek DUG

chyl-o
Członek DUG
Skąd: Lublin
Zarejestrowany: 2006-04-04
Serwis

Re: Początki z C++

Do C++ warto zajrzeć jeszcze na http://www.intercon.pl/~sektor/cbx/


Registered Linux User: #417111
http://chyl.org/pub/images/dug_button.png

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)